您好我正在使用Xcode中的一些C ++代码,我收到此错误Control may reach end of non-void function
。我也使用虚幻引擎标准代码,这是FText
和int32
的来源。这是我的代码:
do {
// get a guess from the player
int32 CurrentTry = BCGame.GetCurrentTry();
std::cout << std::endl;
std::cout << "Try " << CurrentTry << ". Enter your guess: ";
FText Guess = "";
std::getline(std::cin,Guess);
Status = BCGame.CheckGuessValidity(Guess);
switch (Status)
{
case EGuessStatus::Wrong_Length:
std::cout << "Please enter a " << BCGame.GetHiddenWordLength() << " letter word.\n";
break;
case EGuessStatus::Not_Isogram:
std::cout << "Please enter a word without repeating letters.\n";
break;
case EGuessStatus::Not_Lowercase:
std::cout << "Please enter all lowercase letters.\n";
break;
default:
return Guess;
}
} while (Status != EGuessStatus::OK);
}
请有人帮忙。
答案 0 :(得分:2)
你没有展示你的完整功能,但很明显它被宣布为返回一些东西;并且交换机中的default
路径也会返回Guess
。
但是,交换机中的其他三个路径都没有返回任何内容,流程就在交换机后面,没有其他内容。所以你有一个什么都不返回的函数,但是需要来返回一些东西 - 正如消息所说的那样。