gpt4 book ai didi

c++ - 如何将值添加到数组 vector ?

转载 作者:太空狗 更新时间:2023-10-29 20:35:39 25 4
gpt4 key购买 nike

我需要创建一个 vector ,其中每个值实际上是四个值。这么好的老谷歌把我带到了这些页面:

Vector of a Fixed size array

Cant make a vector of fixed size arrays?

Vector of vectors, reserve

从这些线程中,我相信使用以下语法是最佳的:

std::vector<std::array<unsigned int, 4>> arrayVector;

那部分似乎可行,但现在我想添加我的第一行值:

arrayVector.push_back({ 0, 1, 2, 3 });

那部分不编译:

Severity Code Description Project File Line Suppression State Error (active) no instance of overloaded function "std::vector<_Ty, _Alloc>::push_back [with _Ty=std::array, _Alloc=std::allocator>]" matches the argument list

我也试过将 int 数组创建为一个单独的变量,并将该变量传递给 push_back,结果也相同。

我使用的是 Microsoft Visual Studio Community 2015,我不是通常选择 C++ 的人,所以我可能遗漏了一些明显的东西。提前致谢。

最佳答案

试试这个:

arrayVector.push_back({{ 0, 1, 2, 3 }});

旧版本的 Clang(例如)需要额外的大括号,原因似乎是您正在 std::array 中初始化 C 样式数组。

关于c++ - 如何将值添加到数组 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41820101/

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