Microsoft KB Archive/272739

= BUG: C2876 with using Declaration on Private Base Class Member =

Article ID: 272739

Article Last Modified on 7/5/2005

-

APPLIES TO


 * Microsoft Visual C++ 6.0 Enterprise Edition
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Standard Edition

-



This article was previously published under Q272739



SYMPTOMS
You may receive the following error message when you compile a source file:

error C2876: 'Base::fun' : not all overloads are accessible

Please refer to the sample code in the &quot;More Information&quot; section for details.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
The compiler does not allow a private base class member name to be injected into a derived class by a using declaration even though the derived class is declared as a friend class of the base class.

Steps to Reproduce Behavior
The following sample code demonstrates the bug: //test.cpp // compiler option needed: none class Derived; class Base { friend class Derived; void fun(void); };

class Derived : public Base { protected: using Base::fun; };

Additional query words: C2876

Keywords: kbbug kbcpponly kbcompiler KB272739

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.