我试图学习c ++中的访问说明符,因此我从基类访问了一个公共且受保护的成员,并在派生类中执行了add函数,如下所示,
#include<iostream>
using namespace std;
class Base
{
public:
int a;
protected:
int b;
};
class Derived : public Base
{
public:
int sum;
void add()
{
a = 10;
b = 20;
sum = a + b;
}
};
int main()
{
Derived Obj;
Obj.add;
cout << "The sum : " << Obj.sum << "\n";
return 0;
}
但是在编译时,我收到以下错误消息“语句无法解析重载函数的地址”,有人可以解释什么是错误吗?
预先感谢
答案 0 :(得分:2)
该函数的调用在以下行中缺少括号:
Obj.add;
应为:Obj.add();