使用带return的三元操作符
Usage of ternary operator with return
c++中
size>5?cout<<"size is greater than 5":cout<<"size less than 5";
工作,但
size>5?cout<<"size is greater than 5":return 0;
抛出编译时间
这可能是一个基本的疑问,
我从三元操作符的使用中缺少什么,为什么第二个语句给出编译时错误?
谢谢。
我在使用三元运算符时遗漏了什么?
每个分支必须是一个表达式。return语句不是表达式
如果你想在分支中加入更多的通用语句,或者你只是想让代码读起来不那么糟糕,那么使用if...else
。
三元操作符是操作符,这意味着它是表达式的一部分。其参数(操作数)也是表达式。
return 0
不是一个表达式——它是一个语句。你所做的有点类似于,例如:
int a = 4 + for (int j = 0; j < 10; ++j) { std::cout << j; };
您需要流量控制,而不仅仅是不同的表达式-使用if
而不是三元操作符。在您的第一行中,这也是一个好主意:谨慎地使用三元运算符,而不仅仅是作为if
的简写。
相关文章:
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- 三元运算符和 if constexpr
- 在 c++ 中三元运算符中不允许继续(关键字)吗?
- 三元运算符在返回语句中给出意外的结果
- Boost Spirit x3 条件(三元)运算符解析器
- 为什么用三元初始化类会导致双重释放?
- 如何有效地找到数组中三元组和的最小差异?
- 递归中三元运算符的奇怪行为
- 如何在三元条件运算符中添加换行符和连接? :在 C++ 中
- 错误:三元运算符无法在对象中正常工作"cout"
- 如何重写复杂的c++代码行(嵌套的三元操作符)
- 三元操作符:抛出异常和嵌套
- 带有std::index_sequence的三元操作符
- 使用三元操作符从函数返回统一初始化
- 作为命令的三元操作符
- 使用带return的三元操作符
- 三元操作符的指针转换问题
- c++,三元操作符,std::cout
- 使用三元操作符时出现奇怪的错误
- 为什么三元操作符const我的字符串