如果变量的预期范围确实是局部的,那么对我来说保持这种方式才有意义。这就是我一直在做的。但是我最近在工作中从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告诉我,“ a”应在构造函数中初始化。


a无法在构造函数中初始化,因为它是成员函数C::foo()的局部变量。 Eclipse给您一个虚假的警告。

关于c++ - 在类成员中初始化变量是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46958874/

10-10 04:14