mre*_*555 0 c++ object-initializers
如果变量的预期范围是真正的本地范围,那么保持这种方式对我来说是有意义的.这就是我一直以来所做的.但是我最近在工作时从vim切换到eclipse,如果构造函数中没有初始化每个成员变量,eclipse会标记我的构造函数.例如,在下面的代码中,它编译得很好.g ++没问题.另一方面,Eclipse告诉我'a'应该在构造函数中初始化.
有什么理由可以说这个警告可能是相关的,还是值得忽略所有这些?
class C
{
public:
C(){}
~C(){}
void foo();
};
void C::foo()
{
int a;
}
int main() {
C c;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
另一方面,Eclipse告诉我'a'应该在构造函数中初始化.
a 无法在构造函数中初始化,因为它是成员函数的局部变量C::foo().Eclipse正在给你一个虚假的警告.