为什么我不能在类中初始化一定长度的向量?

问题描述 投票:0回答:1

我正在尝试初始化具有首选大小的向量,但 Visual Studio 给出错误 C2059。

vector<int> myvec(26);

我已经阅读了这篇文章,但作者在答案中提到:

类定义中的成员语法不允许使用 () 括号样式的初始值设定项。 (我不太确定为什么。)

请帮助理解,为什么明显的向量初始化在类中不起作用

c++ class vector initialization
1个回答
0
投票

正如链接的答案明确指出的那样,C++语法根本不允许使用

()
从类声明内部初始化类成员。您可以使用
{}
代替,例如:

vector<int> myvec{26};

否则,创建一个单独的对象并将其分配给成员,例如:

vector<int> myvec = vector<int>(26);
© www.soinside.com 2019 - 2024. All rights reserved.