关于c++中linter的一些疑惑

Some doubts regarding linter in c++

我的 ide 在以下代码中显示 linter 错误。它在 int main() student s 中突出显示黄色;部分


using namespace std;

class student {
public:
    int age,DOB;
    char name[32];
    void getData() {
        cin >> age >> DOB >> name;
    }
    void display() {
        cout << name << ends << age << ends << DOB ;
    }
};

int main() {
    student s;
    s.getData();
    s.display();
}

下面的代码是相同的,但是在 int main student 部分的 student 之后添加 curlys 解决了问题


using namespace std;

class student {
public:
    int age,DOB;
    char name[32];
    void getData() {
        cin >> age >> DOB >> name;
    }
    void display() {
        cout << name << ends << age << ends << DOB ;
    }
};

int main() {
    student s{};
    s.getData();
    s.display();
}


你的IDE很可能指出s的成员变量没有初始化

使用{}语法确保它被初始化。

您可以阅读有关 C++ 中初始化类型的更多信息 here

您的 IDE 很可能使用 C++ 11。 此方法称为 扩展初始化列表 现代编译器不需要这种语法 尝试将您的 IDE 升级到 代码块 17.12 对于 C++ 代码,它非常方便!!!