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) {
^
爲什麼這兩個產生不同的警告?誰是對的?它是錯誤嗎?