Compilation of following code fails with error: a.cpp: In constructor `c::c()': a.cpp:14: error: reference to `i' is ambiguous a.cpp:8: error: candidates are: int b::i a.cpp:3: error: int a::i a.cpp:14: error: `i' was not declared in this scope
class a{ private: int i; }; class b{ public: int i; }; class c: public a,public b{ public: c(){ i=0; }; }; int main(){ c o; }; a::i isn't accessible in constructor of c. Reference to i can't be ambiguous. -- Summary: private isn't private Product: gcc Version: 3.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: wbrana at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33127