随机数导致问题

时间:2011-04-22 00:43:34

标签: c++

假设我有一个成员变量vector<bool> rightWall;。 rightWall有width*height个索引。我想访问rightWall的随机索引。所以我这样做:

index1=rand()%(width*height-1);
rightWall[index1]=true;

但我得到Valgrind错误:无效读取大小8. rightWall从未被初始化或任何东西,我不确定它真的应该,因为它只有bool。可能是什么问题?

1 个答案:

答案 0 :(得分:5)

要获得特定大小的矢量,您需要像这样初始化它:

vector<bool> rightWall(width*height);

或调整大小:

vector<bool> rightWall;
rightWall.resize(width*height);