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;哦很高兴知道。谢谢大家!