1
考虑下面的代码:为什么铿锵声不会对阴影产生警告?
class A {
A(int x) {
y_ = x;
}
void x() {
}
int y_;
};
int main() {
}
如果我在使用-Weverything它不会产生任何警告的最新用铿锵编译。但如果我用g ++编译它,会生成
x.cpp: In constructor ‘A::A(int)’:
x.cpp:2:12: warning: declaration of ‘x’ shadows a member of 'this' [-Wshadow]
A(int x) {
^
为什么这两个产生不同的警告?谁是对的?它是错误吗?