如果变量的预期作用域确实是本地的,那么我只需要保持这种状态。这就是我一直在做的。但是,我最近在工作中从 vim 切换到 eclipse,如果每个成员变量都没有在构造函数中初始化,eclipse 会标记我的构造函数。例如,在下面的代码中,它编译得很好。 g++ 没有问题。另一方面,Eclipse 告诉我应该在构造函数中初始化“a”。
是否有任何理由说明此警告可能是相关的,或者是否值得一并忽略?
class C
{
public:
C(){}
~C(){}
void foo();
};
void C::foo()
{
int a;
}
int main() {
C c;
return 0;
}
最佳答案
Eclipse on the other hand tells me that 'a' should be initialized in the constructor.
a
不能在构造函数中初始化,因为它是成员函数 C::foo()< 的局部变量/
。 Eclipse 给你一个虚假的警告。
关于c++ - 在类成员中初始化变量是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46958874/