-3
您好我正在Xcode中的一些C++代碼,我得到這個錯誤Control may reach end of non-void function
。我也使用虛幻引擎標準代碼,因此FText
和int32
來自哪裏。這裏是我的代碼:C++錯誤:控制可能會達到非無效功能
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);
}
請別人幫忙。
錯誤應該很自我解釋。你在某處丟失了函數中的'return'語句。例如,如果循環結束會返回什麼? –
與您的問題無關,但是什麼是'FText'?它只是'std :: string'的別名嗎?爲什麼有這樣的別名?它使代碼更難閱讀和理解。另外請儘量避免使用其他非標準類型,比如'int32'。如果您需要一個明確的帶符號的32位整數,則使用[''](http://en.cppreference.com/w/cpp/header/cstdint)中的標準'int32_t'。如果你不*需要一個特定大小的整數(你可能不需要),那麼就使用普通的'int'。 –
由於約阿希姆提到的,你展示的代碼不足以幫助你,因爲我們需要看到整個功能。 – YakovL