C++Vector放一个普通二维数组

我想在Vactor如图这样放图,但是pushback的时候报错,请问怎么解呢,我只能放这种普通数组不然改成动态数组需要大改... 我想在Vactor如图这样放图,但是pushback的时候报错,请问怎么解呢,我只能放这种普通数组不然改成动态数组需要大改 展开
 我来答
庄政警
2017-12-07 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:880万
展开全部
vector的元素如果是容器类型,必须满足以下要求,有复制构造函数,有重载的operator=, 有移动复制构造函数。而数组这个最基本的“容器”却没有这些特性,所以数组不能当vector的元素
你可以把数组封装到一个struct或者class里,然后用这个struct或者class当作vector的元素,也可以用vector的vector解决你的问题,总之就是不能直接用数组当作vector的元素
deadbigbird
2017-12-07 · TA获得超过105个赞
知道答主
回答量:85
采纳率:84%
帮助的人:28.5万
展开全部

你可以定义一个类,类里面放你的静态二维数组,然后用Vector包含这个类就可以了,例如:

class Array2D {
public:
int data[10][9];
};
//定义vector
std::vector<Array2D> allMaps;
追问
我之前用过这个方法,能不能储存一个Int的二维指针呢,怎么写
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式