当实例变量未初始化时,如何使C ++编译器产生错误或警告?

时间:2019-01-03 11:56:59

标签: c++ xcode gnu

考虑这个简单的课程

class A
{
 public:
    int a;
};

您可以看到int a从未被初始化。在这种情况下,我想得到一个错误或至少警告。我正在将XcodeGNU++11[-std=gnu++11] C ++方言结合使用。甚至有可能吗?

更新:

首先,我创建了A的实例并使用了其a成员,但仍未收到警告:

A a;

std::cout << a.a;

我也研究了Easy way to find initialized member variables,它建议添加-Weffc++标志。我试图通过Xcode Build Settings中的自定义编译器标志添加它(这样做是错误的方法吗?我不确定),但是它不起作用

1 个答案:

答案 0 :(得分:1)

GCC提供了-Wuninitialized编译器选项,用于警告有关未初始化的变量。

这适用于您的情况。参见演示here