Compiler Error C2698

the using-declaration for 'declaration 1' cannot co-exist with the existing using-declaration for 'declaration 2'

Once you have a using declaration for a data member, any using declaration in the same scope that uses the same name is not permitted, as only functions can be overloaded.

The following sample generates C2698:

// C2698.cpp
struct A {
   int x;
};

struct B {
   int x;
};

struct C : A, B {
   using A::x;
   using B::x;   // C2698
}