繁体   English   中英

使用代码分析在Visual Studio 2010中查找未初始化的成员

[英]Finding Uninitialized Member In Visual Studio 2010 Using Code Analysis

我的班级中有一些成员没有初始化就被使用。 出乎意料的是,MSVC ++ 2010编译器不会抱怨,并且代码分析不会产生任何错误/警告。 它确实能够仅抱怨未初始化的本地变量或未引用的本地变量。

我应该怎样设置才能解决此类错误?

实际上,这不是错误或警告。 如果类成员未显式初始化,则使用默认初始化(如果必须初始化)进行初始化。

记录

class f{
std::string m
f():m(){};
};

class f{
std::string m
f(){};
};

做同样的事情。

如果类成员没有默认构造函数,则必须在类构造函数中对其进行初始化,并且编译器将为此提供错误。

class A{
public:
   a(int i):m_i(i){};
protected:
  int m_i;
  a(){};
};

class B{
   A m_a;
   B(){}; 
};

这将导致编译器错误。

暂无
暂无

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

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