Neden C++ derleyicisi bu hatayı veriyor? Neden B'den lol() 'a erişebilirim, fakat rofl() [parametresiz]' e erişemiyorum. Yaka nerede?Kalıtım ve yöntem aşırı yükleme
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;
}
+1 Benden daha hızlı :) – AraK
evet, ancak A :: rofl() sanal değil. Bu nedenle - rofl() her zaman sanal rofl (0) çağırır. –
@ 0xDEAD BEEF: Bu durumda, kullanmak için _intend_, yani A :: rofl; 'kullanarak derleyiciye bunu netleştirin. – xtofl