【发布时间】:2020-09-18 16:52:45
【问题描述】:
我正在尝试使用三元运算符在 C++ 中编写一个简单的阶乘函数。它给出了一个编译错误。
int factorial(int n) {
(n == 0) ? return 1 : return n * factorial(n-1);
}
上面写着Expected ':' to match this '?'
我是 C++ 新手。
【问题讨论】:
-
那个?运算符期望表达式作为参数,而不是语句。
if可以做到这一点。 -
我怀疑返回
0是个好主意。 -
@YvesDaoust 是的,刚刚意识到并改变了它。
标签: c++ function recursion conditional-operator