派生类成员阴影基类成员的警告

时间:2017-06-07 10:30:01

标签: c++ visual-c++ g++ compiler-warnings clang++

当局部变量影响另一个变量时,C ++编译器会发出警告。 例如https://godbolt.org/g/TYYf8F

但是,当派生类的成员隐藏基类的成员时,没有一个主要的C ++编译器会发出警告:

i

请参阅https://godbolt.org/g/fBMUAd

背后有原因吗?

1 个答案:

答案 0 :(得分:0)

虚拟是函数调用者中决定要调用哪个函数的机制。它不会使函数以某种方式表现“虚拟”。由于您没有覆盖函数B :: memberVar(),因此它仍在调用A :: memberVar(),它的行为与A的任何其他成员函数相同。