KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
This code: class B { protected: void Foo(){} } class D : public B { public: void Baz() { Foo(); } void Bar() { printf("%x\n", &B::Foo); } } gives this error: t.cpp: In member function 'void D::Bar()': Line 3: error: 'void B::Foo()' is protected Why can I call a protected method but not take its address? Is there a way to mark something fully accessible from derived classes rather than only accessible from derived classes and in relation to said derived class? BTW: This looks related but what I'm looking for a reference to where this is called out in the spec or the like (and hopefully that will lead to how to get things to work the way I was expecting).
Tags (comma-separated)
Save Edits
Cancel