我尝试四处搜寻,但并未真正找到问题的答案。我的任务是将以下代码(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 << "";
}
但是我收到错误消息“控制到达非空函数的末尾”。有人可以帮我吗?
答案 0 :(得分:5)
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;
答案 1 :(得分:0)
检查翻译后的C ++的函数体
函数的返回类型为int,函数结尾没有返回