我在使用ASIO库时遇到了类似的情况。正如他们的博客文章中所建议的那样,std::error_code应该按以下方式进行测试:std::error_code ec; // ... if (!ec) { // Success. } else { // Failure. } 深入了解后,我找到这篇(更近期的)C++标准Google小组讨论,确认了上述说法,但也提出了关于std::error_code当前设计是否足够简单明了的问题。 简单来说,如果您只需要判断错误和成功,!static_cast<bool>(errorCode)就是您所需的。
true
表示成功还是失败? - sdgfsdh