Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ break语句不会退出循环_C++_Loops_Break - Fatal编程技术网

C++ break语句不会退出循环

C++ break语句不会退出循环,c++,loops,break,C++,Loops,Break,使用以下代码,由于某种原因,我无法退出提供的for循环: for(int i = 0; i < sizeof(boolForCharIsDigi)/sizeof(boolForCharIsDigi[0]); i++){ if(boolForCharIsDigi[i] == false){ hasPassed = false; std::cin >> turnsDefi

使用以下代码,由于某种原因,我无法退出提供的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是包含假值和真值的bool数组。 TurnsDefine是一个简单的std::字符串。hasPassed是另一个正常布尔值,为真/假


正是我想要做的:使用break语句,我想要退出for循环。非常简单。

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

sizeofboolForCharIsDigi和sizeofboolForCharIsDigi[0]的值是多少?使用所有警告和调试信息编译g++-Wall-Wextra-g。然后使用调试器gdb!对for循环使用hasPassed和当前条件。将其初始化为true。您不需要中断。@gldraphael Computed,它返回用户输入字符数组的值长度。它基本上为char数组中的每个元素创建一个bool。@代码,因为在我看来它工作得很好: