首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不知道为什么while循环是无限的

问我不知道为什么while循环是无限的
EN

Stack Overflow用户
提问于 2019-05-03 06:55:07
回答 1查看 52关注 0票数 0

我的代码使用了我认为是简单的while循环。它检查这个randCard是否已经存在于我拥有的向量中,如果存在,则创建一个新的randCard。

我在循环中添加了cout语句,试图找出它正在运行的进程,发现它只在while循环中运行,而没有嵌套的for循环。问题如下:

代码语言:javascript
复制
    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由已经使用过的卡片索引组成。end cout语句最终如下所示:

代码语言:javascript
复制
While entered
While entered
While entered
While entered
While entered

似乎连for循环都没有被访问过。我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2019-05-03 07:05:28

对于任何可能偶然发现这一点的人,答案都在评论中得到了解决。向量的大小为0,因此for循环甚至不会运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55961241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档