C++ C++;。如果语句赢了';t出口
我有一个带有while循环和一些if语句的函数,所有语句都按预期运行,但是,当应该返回vector select_控制值的if语句运行时,它不会在返回值后终止函数C++ C++;。如果语句赢了';t出口,c++,if-statement,C++,If Statement,我有一个带有while循环和一些if语句的函数,所有语句都按预期运行,但是,当应该返回vector select_控制值的if语句运行时,它不会在返回值后终止函数 vector<int> select() { vector<int> select_control; int select; cin >> select; while (select < 10) { //SOME CODE
vector<int> select() {
vector<int> select_control;
int select;
cin >> select;
while (select < 10) {
//SOME CODE THAT PUSHES VALUES INTO THE VECTOR select_control
}
if (select == 99){
cout << "TERMINATING";
Sleep(3000);
exit(0);
}
else if (select == 100) {
cout << "input complete";
return select_control;
}
else {
cout << "not a valid value";
}
}
vector select(){
矢量选择控制;
int选择;
cin>>选择;
while(选择<10){
//一些将值推送到VECTOR select_控件的代码
}
如果(选择==99){
不能而不是exit(0);
在条件语句中放置一个break;
使用break;
语法。这是在if语句中存在的,您不必包含任何内容。此函数具有通过return
语句返回值而不返回值的路径。“他们不会在返回值后终止函数”-什么让你认为是这样的?它通过退出(0)提前返回在返回之前遇到的调用..由于select==99
发生在select==100
之前,请发布显示问题的可编译代码-一个@Npm1468,您需要停止评论此处发布的问题中的代码与显示问题的实际代码之间的差异,只需修复问题中的代码,以便我们可以看到您实际使用的代码。我的错误,exit(0)工作正常,返回语句不退出函数。@Npm1468您没有多个控制路径的返回语句,包括点击exit
的路径。