6 35 C:\Users\锦\Desktop\考试复习代码\1.cpp [Error] in C++98 'v' must be initialized by constructor, not by '{...}'
时间: 2023-07-21 20:41:51 浏览: 148
这个错误提示是因为在 C++98 标准下,类中的成员变量必须通过构造函数进行初始化,而不能使用类似于 `{...}` 的方式初始化。
解决这个问题的方法有两种:
1. 将成员变量的初始化放到构造函数中,例如:
```cpp
class Example {
public:
Example() : v({6, 35}) {} // 在构造函数中初始化 v
private:
vector<int> v;
};
```
2. 将编译器的标准设置为 C++11 或以上,这样就可以使用类似于 `{...}` 的方式初始化成员变量了。在 g++ 中,可以使用 `-std=c++11` 或 `-std=c++14` 等参数来设置编译标准。例如:
```bash
g++ -std=c++11 example.cpp -o example
```
阅读全文