控制达到非空隙功能的终点,C++

Control reaches end of non-void function, C++

本文关键字:终点 C++ 功能 控制      更新时间:2023-10-16

我试着四处搜索,但没有真正找到我的问题的任何答案。我的任务是将以下代码(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,函数末尾没有返回