我的代码使用了我认为简单的while循环。它检查我拥有的向量中是否已经存在randCard
,如果存在,则创建一个新的randCard
。
我在循环中添加了cout
语句以尝试查找正在运行的进程,并发现它仅在while循环中运行,没有嵌套的for循环。问题如下:
bool isSame = true;
//Make sure they don't be the same cards
while (isSame){
cout << "While entered" << endl;
for(int i = 0; i < notToUse.size(); i++){
if(randCard == notToUse.at(i)){
randCard = rand() % 24;
}
cout << "First for ran" << endl;
}
for (int i = 0; i < notToUse.size(); i++){
if (randCard == notToUse.at(i)){
cout << "Recheck loop" << endl;
break;
}
else{
cout << "Else ran" << endl;
isSame = false;
}
}
}
randCard
来自一类卡片。向量notToUse
由已经使用的卡索引组成。最后的cout
语句看起来像这样:
While entered
While entered
While entered
While entered
While entered
似乎甚至没有访问for循环。我该如何解决?
答案 0 :(得分:2)
对于可能偶然发现此问题的任何人,答案均已在评论中得到解决。向量的大小为0,因此for循环甚至没有运行。