gpt4 book ai didi

C++ vector 作为类成员与函数中的比较

转载 作者:行者123 更新时间:2023-12-02 18:52:46 24 4
gpt4 key购买 nike

当我在函数中使用 vector 时,我得到一个变量 D 并且它可以工作。

 vector<int> D(100);

但是,当我决定将其用作类成员时,我收到以下奇怪的错误:

error: expected identifier before numeric constant
99 | vector<int> D(100);
| ^~~

有人可以解释为什么会出现这个特定错误吗?我可以在类中使用数组作为 int D[100]

最佳答案

member variable 的默认成员初始值设定项 (C++11 起)仅支持等号初始值设定项(和花括号初始值设定项,与此用例不匹配)。

Through a default member initializer, which is a brace or equals initializer included in the member declaration and is used if the member is omitted from the member initializer list of a constructor.

你可以

vector<int> D = vector<int>(100);

或者使用成员初始化列表。例如

struct x {
vector<int> D;
x() : D(100) {}
};

关于C++ vector 作为类成员与函数中的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66542558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com