gpt4 book ai didi

c++ - VS2010 中的名称查找错误

转载 作者:行者123 更新时间:2023-11-30 04:36:43 26 4
gpt4 key购买 nike

我很确定这是 VS 2010 中的错误,但检查 SO 总是一个好主意

struct A{
static int s;
};

struct B{
static int s;
};

struct C : A, B{
void fn(short s){ // Ambiguous access of 's' here!!!
s = 2;
}
};

int A::s;
int B::s;

int main(){
C c;
}

VS 给出-“错误 C2385:‘s’的访问不明确”。

g++ 和 Comeau 编译良好。

我错过了什么吗?

最佳答案

Visual C++ 担心菱形问题——名为“s”的实例成员由于菱形继承而有歧义。但是在这里,它应该被名为“s”的局部参数遮蔽,所以这段代码没有任何违法之处。它应该可以干净地编译,除非你在你的环境中设置了一些奇怪的东西来让 Visual C++ 提示阴影变量名。

关于c++ - VS2010 中的名称查找错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com