C++ int函数.当零是有效返回值时,如何检测false?

dus*_*noe -2 c++

我有一个函数解析来自std :: cin的一些输入,并在成功时返回一个整数值.我需要根据返回值检测解析输入时是否出错.零是有效的回报.我可以用什么来区分有效零和"坏输入"?

如果我需要发布代码作为示例,请告诉我.谢谢!

[编辑]

int parseInput(){
    int calculatedValue = 0;
    bool parseOk = true;
    /* Parse cin for valid input.*/
    if (parseOk) {
        /* Perform calculation. Can be zero */
    }
    return calculatedValue; // Any integer is valid
}
Run Code Online (Sandbox Code Playgroud)

Sho*_*hoe 7

这将是一个完美的工作std::optional.关于以返回值通知的最佳替代方案是实现类似的类.

或者,您应该使用例外.完全例外是为了通知用户您的函数出错了.

  • `std :: experimental :: optional`现在 (2认同)