使用常量修复 class 成员函数引用参数的第 3 方库代码初始化

Fix 3rd party library code initialization of a class member function reference parameter with a constant

编译第 3 方库时,我得到 "error: initial value of reference to non-const must be an lvalue"。错误发生在成员函数声明中的 C++ Class 定义中:

bool intersectsHierarchy(ON_Ray& ray, std::list<BVNode<ON_BoundingBox>*>& results = 0);

根据网上查到的资料,我尝试将初始化的参数设为const,如下:

bool intersectsHierarchy(ON_Ray& ray, const std::list<BVNode<ON_BoundingBox>*>& results = 0);

但这只会导致另一个编译错误。

关于如何最好地解决这个问题并让我的库进行编译有什么想法吗?

删除 = 0 部分 -

  1. 您不能将 0 分配给列表
  2. 您只能通过引用传递变量而不是 const