【发布时间】:2011-02-27 18:34:45
【问题描述】:
为什么 C++ 编译器会出现这个错误?为什么我可以从 B 访问 lol(),但无法访问 rofl() [无参数]。问题在哪里?
class A
{
public:
void lol(void) {}
void rofl(void) { return rofl(0);}
virtual void rofl(int x) {}
};
class B : public A
{
public:
virtual void rofl(int x) {}
};
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.lol();
a.rofl(1);
a.rofl();
B b;
b.lol();
b.rofl(1);
b.rofl(); //ERROR -> B::rofl function does not take 0 arguments
return 0;
}
【问题讨论】:
标签: c++ inheritance overloading overriding