C++ 函数认为指针参数是指针引用

C++ function thinks pointer argument is pointer reference

编译库时出现与以下函数相关的错误:

error: no matching function for call to ‘Factor::inplaceCancel(const Factor*&)’

我不明白为什么 const Factor* rhsFPtr 被当作 const Factor*&。 谁能帮我解决这个问题?

void InplaceCancelFF::inplaceProcess(FactorisedFactor* lhsPtr, const Factor* rhsFPtr){
   lhsPtr->factorPtrs[0]->inplaceCancel(rhsFPtr);
   ...
}
//In the abstract Factor Class:
virtual void inplaceCancel(const Factor* rhsPtr,FactorOperator* procPtr) = 0;
//In the child class:
inline void inplaceCancel(const Factor* rhsPtr, FactorOperator* procPtr = 0);

基 class 中的声明没有第二个默认参数 (procPtr)。所以这在子 class 声明中被忽略了。

您需要为函数提供 2 个参数才能工作(或默认为基本声明)

感谢大家的帮助。基 class 中有一些我没有看到的函数重载(我正在编辑别人的代码)。我更改了指针类型以匹配其他函数之一并解决了问题。