控制达到非空隙功能的终点,C++
Control reaches end of non-void function, C++
我试着四处搜索,但没有真正找到我的问题的任何答案。我的任务是将以下代码(Python)翻译成C++:
def triangleNumbersBelow(n):
acc = 1
num = 2
print("Triangle numbers below ", n, ":", sep="")
while acc < n:
print(acc)
acc += num
num += 1
print()
我的尝试:
int triangleNumbersBelow(int n) {
int acc = 1;
int num = 2;
cout << "Triangle numbers below" << n;
while (acc < n) {
cout << acc << 'n';
acc += num;
num += 1;
}
cout << "";
}
但是我收到错误消息"控制到达非无效功能的末尾"。谁能帮我?
>int triangleNumbersBelow(int n) {
意味着函数必须返回一个 int 值,但你从来没有这样做过
实际上,您不必返回值,因为 Python 版本不返回值,因此请将其签名更改为void triangleNumbersBelow(int n) {
我建议你也
- 将
cout << "Triangle numbers below" << n;
替换为cout << "Triangle numbers below" << n << endl;
否则 n 将折叠为 ACC 的第一个值 - 删除上一个
cout << "";
或将其替换为cout << endl;
检查翻译C++的函数体
函数的返回类型为 int,函数末尾没有返回