【发布时间】:2014-08-20 15:54:42
【问题描述】:
我正在使用这样的东西:
std::vector<std::array<double, 3>> myarray;
但是当我想向数组中添加新元素时,我尝试使用
myarray.push_back({0, 0 ,0});
它不能用 VS2012 编译。
那么如何使用 std::array 作为 std::vector 的元素呢?
谢谢。
【问题讨论】:
-
std::vector没有pushback成员。请贴出真实代码。 -
您在
push_back中间缺少_。否则,一些更好的编译器会接受此代码。 -
-2?这个问题没有错。 OP 声明编译器并提交一个 sscce。问题归结为编译器伪装成 C++11 兼容但缺少许多功能。
-
@Bathsheba(我没有投票)这不是 sscce。它有一个错字,仍然缺少包含和功能。另外,AFAIK MSVC 是极少数不伪装成 C++11 编译器的编译器之一(__cplusplus 的值),我不知道你为什么称它为伪装。
标签: c++ visual-c++ c++11 stl