break语句不会退出循环

时间:2014-10-29 06:45:32

标签: c++ loops break

使用以下代码,我出于某种原因无法退出提供的for循环:

for(int i = 0; i < sizeof(boolForCharIsDigi)/sizeof(boolForCharIsDigi[0]); i++){
                if(boolForCharIsDigi[i] == false){
                    hasPassed = false;
                    std::cin >> turnsDefined;
                    std::cout << "You may only use numbers to define the amount of turns. No decimals either." << std::endl << std::endl;
                    break;
                }else if(boolForCharIsDigi[i] == true){
                    hasPassed = true;
                }
}

Vars:boolForCharIsDigi是包含false和true值的bool数组。 turnsDefined是一个简单的std::stringhasPassed是另一个正常的bool值,无论是真/假。

正是我想做的事情:使用break语句,我想退出for循环。 (很简单)。

1 个答案:

答案 0 :(得分:0)

我做错了:我的break语句只退出了一个嵌套循环。外循环只是重新启动内部循环。所以我做的是添加一个bool并让外循环检查内部循环是否将其设置为true以便退出。