我正在尝试制作一堆整数数组,如下所示:
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)
。错误意味着什么,以及如何正确地构建整数数组?
答案 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>
实现了您使用固定大小容器描述的内容(以及较低的内存使用量。)