我正在尝试初始化具有首选大小的向量,但 Visual Studio 给出错误 C2059。
vector<int> myvec(26);
我已经阅读了这篇文章,但作者在答案中提到:
类定义中的成员语法不允许使用 () 括号样式的初始值设定项。 (我不太确定为什么。)
请帮助理解,为什么明显的向量初始化在类中不起作用
正如链接的答案明确指出的那样,C++语法根本不允许使用
()
从类声明内部初始化类成员。您可以使用 {}
代替,例如:
vector<int> myvec{26};
否则,创建一个单独的对象并将其分配给成员,例如:
vector<int> myvec = vector<int>(26);