Compiler Error C2876

'class::symbol' : not all overloads are accessible

All overloaded functions derived from a base class must be accessible in the derived class.

For example, in the following code, the int version of overloaded function a is not accessible in the derived class B.

class A {
public:   
   double a(double);
private:
   int a(int);
};

class B : public A {
   using A::a; // error C2876
};