编译器警告(等级 1)C4269
“identifier”: 用编译器生成的默认构造函数初始化的“const”自动数据产生不可靠的结果
一个非普通类的 const
自动实例会通过编译器生成的默认构造函数被初始化。
示例
// C4269.cpp
// compile with: /c /LD /W1
class X {
public:
int m_data;
};
void g() {
const X x1; // C4269
};
由于该类的此实例是在堆栈上生成的,因此 m_data
的初始值可以是任何值。 此外,由于它是一个 const
实例,因此,m_data
的值永远不能更改。