我有一个4d矢量,我正试图给它添加值。我没有收到任何编译器错误,但是在运行它时,程序在到达向此向量添加值的行时冻结。访问4d矢量的问题
我初始化在头文件中的矢量是这样的:
std::vector<std::vector<std::vector<std::vector<unsigned int> > > > _celllist;
该阵列,然后用尺寸如下:
_celllist.resize(_vnx);
for(int i=0;i<_vnx;i++)
{
//y axis size
_celllist[i].resize(_vny);
for(int j=0;j<_vny;j++)
{
//z axis size
_celllist[i][j].resize(_vnz);
}
}
此行然后使程序崩溃:
_celllist[ix][iy][iz].push_back(i);
请注意,ix,iy和iz都是int,我是一个无符号整数。
任何人都可以看到什么可能会出错吗?谢谢
ix iy iz和i的价值是什么? –
其他维度可能为空,但您忽略分享该部分。你能包括一个完整的,最小的例子吗? –
@Gabe,_celllist不是指针,'_celllist = new ...'是非法的。 – john