C ++错误:控制可能会达到非空函数的结束

时间:2016-08-20 17:38:45

标签: c++

您好我正在使用Xcode中的一些C ++代码,我收到此错误Control may reach end of non-void function。我也使用虚幻引擎标准代码,这是FTextint32的来源。这是我的代码:

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);
}

请有人帮忙。

1 个答案:

答案 0 :(得分:2)

你没有展示你的完整功能,但很明显它被宣布为返回一些东西;并且交换机中的default路径也会返回Guess

但是,交换机中的其他三个路径都没有返回任何内容,流程就在交换机后面,没有其他内容。所以你有一个什么都不返回的函数,但是需要来返回一些东西 - 正如消息所说的那样。