1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> struct A { void f() { std::cout << "A::f()" << std::endl; } }; struct B : A { void f(int) { std::cout << "B::f(int)" << std::endl; } }; int main() { B b; b.f(10); //ok b.f(); //error - as the function is hidden return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEEKewogICAgdm9pZCBmKCkgeyBzdGQ6OmNvdXQgPDwgIkE6OmYoKSIgPDwgc3RkOjplbmRsOyB9Cn07CgpzdHJ1Y3QgQiA6IEEKewogICAgdm9pZCBmKGludCkgeyBzdGQ6OmNvdXQgPDwgIkI6OmYoaW50KSIgPDwgc3RkOjplbmRsOyB9Cn07CgppbnQgbWFpbigpIHsKCUIgYjsKICAgICAgICBiLmYoMTApOyAvL29rCiAgICAgICAgYi5mKCk7ICAgLy9lcnJvciAtIGFzIHRoZSBmdW5jdGlvbiBpcyBoaWRkZW4KCXJldHVybiAwOwp9
prog.cpp: In function ‘int main()’: prog.cpp:16: error: no matching function for call to ‘B::f()’ prog.cpp:10: note: candidates are: void B::f(int)
-
result: Compilation error (maybe you wish to see an example for C++ 4.7.2)


