c++函数认为指针实参是指针引用
C++ function thinks pointer argument is pointer reference
当编译一个库时,我得到以下与下面函数相关的错误:
错误:没有匹配的函数来调用' Factor::inplaceCancel(const因子*,)'
我不明白为什么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);
基类中的声明没有第二个默认参数(procPtr
)。所以这在子类声明中会被忽略。
您需要为该函数提供2个参数才能使其工作(或默认为基声明)
谢谢大家的帮助。基类中有一些函数重载,我没有看到(我正在编辑别人的代码)。我更改了指针类型以匹配其他函数之一,从而解决了问题。
相关文章:
- 非类型引用形参/实参
- 成员函数指针的模板实参演绎
- 函数和函数作为模板函数的实参
- Const到非Const指针模板实参的转换
- 传递boost::函数,该函数接受一个模板实参作为默认为NULL的形参
- 当实参是初始化列表而形参是引用时,重载解析
- 函数模板中返回类型的模板实参演绎
- ostream_iterator的模板实参-每个元素都是pair
- c++——关于使用默认实参的困惑
- 函数指针作为模板实参而不是函子
- 为什么模板非类型形参指针和引用实参需要是全局的
- 作为模板实参的指针向量
- Const正确性- Const指针作为函数实参
- 断言模板实参是一个迭代器/指针
- 定义任何成员函数指针的别名中的模板实参演绎
- c++函数认为指针实参是指针引用
- 函数指针的形参类型的模板实参演绎涉及未演绎的形参包
- 从函数指针的实参中演绎出c++模板类型
- 如何在c++中将模板成员函数的实参转发给成员基类指针
- 如何将模板实参中的函数或成员函数指针转换为函数类