[ eva01 @ 28.09.2006. 23:23 ] @
Kod je ispod. do_nothing(int) je definisan u A, nju nasledi B koji dodaje svoj do_nothing(Joe &) na kraju C nasledi B. Problem je što kompajler nije u stanju da provali da A ima do_nothing(int)... Stvarno ne kapiram zašto. Sve se ponaša kao da je do_nothing(int) zaklonjeno sa do_nothing(Joe &) ali očigledo je da imaju različite parametre... Code: class Joe { }; class A { public: virtual void do_nothing(int x){}; }; class B : public A { public: void do_nothing(Joe &x) {}; }; class C : public B { public: void do_nothing(int x) {}; }; using namespace std; int main(int argc, char *argv[]) { Joe i_am_joe; C i_am_c; i_am_c.do_nothing(i_am_joe); cout << "Hello, from Win32!" << endl; return EXIT_SUCCESS; } |