我有以下代码:-
class A : public B {
public:
_container (B* b) {
container_ = b;
}
private:
B* container_;
};
void foo(const A& a, const B& b) {
A new_a (a);
new_a._container(&b);
}
如果我尝试使用 icpc12 编译它,我会得到:-
error: no instance of overloaded function "A::_container" matches the argument list
argument types are: (const B *)
object type is: A
new_a._container (&b);
现在,我明白错误的第一行意味着被调用的函数和可用的函数定义之间存在某种类型不匹配,我正在尝试使用错误的其他两行缩小问题范围信息。
第二行和第三行是什么意思?
最佳答案
该函数将一个非常量指针作为参数,而您传递的是一个常量指针。
关于c++ - 解密未找到函数重载错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11130139/