制作一堆int数组

时间:2014-02-27 19:04:27

标签: c++ arrays stack

我正在尝试制作一堆整数数组,如下所示:

stack<int[2]> stk;

int arr[2] = {1,2};
stk.push(arr);

然而,Visual C ++给了我错误

error C2075: 'Target of operator new()' : array initialization needs curly braces

和MinGW给我错误

error: parenthesized initializer in array new

错误似乎来自stk.push(arr)。错误意味着什么,以及如何正确地构建整数数组?

1 个答案:

答案 0 :(得分:1)

使用C ++ 11阵列,您可以执行此操作:

#include <stack>
#include <array>

stack<array<int, 2>> arrs;
arrs.push({1, 2});

正如问题评论中所述,也可以将array<int, 2>替换为vector<int>。但是,array<int, 2>实现了您使用固定大小容器描述的内容(以及较低的内存使用量。)