gpt4 book ai didi

c++ - vector 不能由 {} 初始化

转载 作者:太空狗 更新时间:2023-10-29 21:45:49 26 4
gpt4 key购买 nike

您好,我是 C++ 的新手,我无法使用 {} 初始化 vector ,即使代码是随书复制的。比如当我做这些的时候

vector <string> articles {"a", "an", "the"};

vector <string> articles = {"a", "an", "the"};

我分别得到了这些错误信息:

Error: expected a ";"

Error: initialization with "{...}" is not allowed for object of type "std::vector<std::string, std::allocator<std::string>>"

有人愿意帮我吗?我相信这应该是一个我无法发现的简单错误。

最佳答案

uniform initialization 自 C++11 开始引入,您应该使用支持此新功能的最新编译器。

如果您的编译器不支持此功能,您可以尝试以下操作:

string arrOfString[3] =  {"a", "an", "the"};
vector<string> articles(arrOfString, arrOfString +3);

编辑:

使用 MSVC11,您可以这样做(由@chris 提供):

string arrOfString[3] =  {"a", "an", "the"};
vector<string> articles(std::begin(arrOfString), std::end(arrOfString));

关于c++ - vector 不能由 {} 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16726919/

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