Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 生成int数组堆栈_C++_Arrays_Stack - Fatal编程技术网

C++ 生成int数组堆栈

C++ 生成int数组堆栈,c++,arrays,stack,C++,Arrays,Stack,我试图创建一个整数数组堆栈,如下所示: stack<int[2]> stk; int arr[2] = {1,2}; stk.push(arr); 明格给了我一个错误 error C2075: 'Target of operator new()' : array initialization needs curly braces error: parenthesized initializer in array new 错误似乎来自stk.push(arr)。错误是什么意思?

我试图创建一个整数数组堆栈,如下所示:

stack<int[2]> stk;

int arr[2] = {1,2};
stk.push(arr);
明格给了我一个错误

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

错误似乎来自stk.push(arr)。错误是什么意思?我如何正确地生成整数数组堆栈?

对于C++11数组,您可以执行以下操作:

#include <stack>
#include <array>

stack<array<int, 2>> arrs;
arrs.push({1, 2});
#包括
#包括
堆叠ARR;
arrs.push({1,2});

如问题注释中所述,也可以将
数组
替换为
向量
。但是,
array
实现了您在固定大小容器中描述的功能(并降低了内存使用率)。

您不能在容器中使用原始数组。首先,它们不是可复制/可移动的.stack stk;哦很高兴知道。谢谢大家!