假设我有一个成员变量vector<bool> rightWall;
。 rightWall有width*height
个索引。我想访问rightWall的随机索引。所以我这样做:
index1=rand()%(width*height-1);
rightWall[index1]=true;
但我得到Valgrind错误:无效读取大小8. rightWall从未被初始化或任何东西,我不确定它真的应该,因为它只有bool。可能是什么问题?
答案 0 :(得分:5)
要获得特定大小的矢量,您需要像这样初始化它:
vector<bool> rightWall(width*height);
或调整大小:
vector<bool> rightWall;
rightWall.resize(width*height);