由于我的代码中的一个错误,我遇到了这个问题,我很好奇为什么它是允许的。是什么原因允许对象成员在构造函数初始化列表中可见?
#include <stdio.h>
class derived {
private:
int * value2;
public:
derived();
};
derived::derived()
: value2(value2){} // Uninitialized self-assignment
int main()
{
derived thisChild;
}
Clang 对此给出了警告,但不幸的是 g++ 没有。