void your_function(){
bool not_ready = true;
bool rescan = false;
while (not_ready) {
vector<string> tempVector;
//...
if (ch = ';') {
if (nextRow == true){
break; // тут нужно что б случился выход на while
}
cTemp++;
rescan = false;
// ...
// Добавить выход из цикла
}
// ...
}
C++ 有一条规则,即所有局部变量都必须在其范围内(全局变量除外)。能见区是有限的
{}。规则——你不能在它们的范围之外使用局部变量(以及类变量等)。所以......有几种解决方案适合您。
变量是静态的,使用此变量,变量将一直存在到程序结束。
选项 - 单个本地
选项 - 通过可见区域转发,当您重新进入可见区域时 - 将创建一个新变量。cTemp - down,这不会影响代码的重新执行。您需要了解 from
tempVectorto this的代码break将再次执行。我认为 clear 的选项更好。还有一些更简单的选项,我认为它们不适合您,但在一般情况下可能需要它们。
有用的链接