编译器警告(等级 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 的值永远不能更改。