我有一個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