繁体   English   中英

如何使GCC / Clang警告未初始化成员的使用?

[英]How can I make GCC/Clang warn about the use of uninitialized members?

我正在编译后面的代码

class Test {
public:
    Test() {}

    int k;
};

int main() {
  Test t;
  std::cout << t.k << "\n";
}

喜欢

g/clang++ main.cpp -Wall -Wextra --std=c++14 -o exe; ./exe

为什么两个编译器都不对整数的不确定值发出警告,这不是一个非常严重的潜在错误吗? 如何为不确定的初始化启用警告?

对于此示例,当我给它-O1 (或更高)时,GCC 会给我所需的警告

大概它用来检测到这种情况的任何机制都以某种方式与优化工作量挂钩。 这是很难做到的

确保您注意发布生成警告以及调试生成警告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM