如果变量未初始化,Visual Studio 2017 不会生成任何警告

Visual Studio 2017 does not generate any warnings if the variables are uninitialized?

本文关键字:警告 任何 2017 Studio 变量 初始化 Visual 如果      更新时间:2023-10-16

Visual Studio的问题以及变量未初始化时的警告

我尝试了另一个像Clang这样的编译器。叮当能够生成警告。

//clang 3.8.0
//MSVS 2017
#include<iostream>
using namespace std;
class dummy
{
public:
    void dummyFunction()
   {
        static_cast<int>(m_DummyVariable);
   }
private:
    double m_DummyVariable;
};
int main()
{
    dummy obj;
    double outside;
    static_cast<int>(outside);
    obj.dummyFunction();
    return 0;
}

我预计会收到三个警告,因为在线叮当能够这样做。但是,在Visual Studio中,无论我在项目属性中设置的警告级别(1,2,3,4或所有警告选项(如何,我都无法收到任何警告。我必须更改项目的任何属性吗?

如果您右键单击您的项目并点击属性,请转到底部并单击代码分析。将规则集更改为"Microsoft所有规则"以及勾选框以在构建上运行代码分析,使我出现警告。值得注意的是,一旦我将外部变量发送到标准输出,Visual Studio 就会抛出警告和错误。