编译器错误 C2798
“super::member”不明确
多个继承的结构包含使用 super 引用的成员。 可以通过以下任一方法修复该错误:
从 D 的继承列表中删除 B1 或 B2。
更改 B1 或 B2 中的数据成员的名称。
以下示例生成 C2798:
// C2798.cpp
struct B1 {
int i;
};
struct B2 {
int i;
};
struct D : B1, B2 {
void g() {
__super::i = 4; // C2798
}
};