duh!
i had to do this in derived class, and it works now!
and i am not very happy about this although it works fine now!Code:class derived : public base { public: // this solves the problem using base::foo; void foo(const string& msg) { cout << "derived: " << msg << endl; } };