Compiler Error C2698


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at 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