【发布时间】:2017-06-08 18:35:23
【问题描述】:
我需要创建一个向量,其中每个值实际上是四个值。这么好的老谷歌把我带到了这些页面:
Cant make a vector of fixed size arrays?
从这些线程中,我相信使用以下语法是最佳的:
std::vector<std::array<unsigned int, 4>> arrayVector;
这部分似乎有效,但现在我想添加我的第一行值:
arrayVector.push_back({ 0, 1, 2, 3 });
那部分没有编译:
严重性代码描述项目文件行抑制状态 错误(活动)没有重载函数实例“std::vector<_ty _alloc>::push_back [with _Ty=std::array, _Alloc=std::allocator>]”与参数列表匹配
我还尝试将 int 数组创建为单独的变量并将该变量传递给 push_back,结果也相同。
我使用的是 Microsoft Visual Studio Community 2015,我不是通常选择 C++ 的人,所以我可能会遗漏一些明显的东西。提前致谢。
【问题讨论】:
-
嗯,它似乎为我编译on IdeOne...
-
你的代码给了我一个很大的线索,在其他线程中没有人提到:#include
:D 可能是这样。我没想过要检查,因为使用 std::array 的第一行没有编译错误。