编译器错误 C2698

“declaration 1”的 using 声明不能与“declaration 2”的现有 using 声明共存

数据成员具有 using 声明后,不允许使用相同范围内使用相同名称的任何 using 声明,因为只能重载函数。

下面的示例生成 C2698:

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

struct B {
   int x;
};

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