繁体   English   中英

C++ 中的返回表达式检查条件

[英]Return Expression Check Condition in C++

在编写 C++ 代码时仍然习惯于格式化,来自 Lua 背景。 我如何正确格式化 if/条件表达式,如下面的示例突出显示的那样。

这将正确运行,但会出现不理想的警告:

return (boolean == true) and init() or 0;

突出警告:

expected a ';'C/C++ (between "(boolean == true)" "and")

and and or are 关键字被认为有点过时。 它们在现代 C++ 中是技术上有效的 C++ 关键字(因为它似乎是 C++98)。 您必须使用一个非常旧的 C++ 编译器,该编译器是在将它们添加到 C++ 之前编写的。 它们以及它们的使用从未起飞。 古典&&|| 运营商继续称雄,不会去任何地方。

因此:尽管这个表达式在逻辑上应该等同于boolean && init() ,但您可能需要考虑分配更高的优先级,将 C++ 编译器更新为更现代的东西,如果这确实是编译错误的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM