C++ 不声明返回值无报错的情况

class Solution {
public:
    int maxOfThreeNumbers(int num1, int num2, int num3) {
        maxOfTwoNumbers(maxOfTwoNumbers(num1,num2),num3);
    }
    int maxOfTwoNumbers(int num1, int num2) {
        if (num1 >= num2){
            return num1;
        }
        else{
            return num2;
        }
    }
};

比如这是一个简单是三数比较函数,
可以看到 第一个函数中,没有写return 但是编译器不会提示报错
因为最后一个被使用的参数就是返回值
像这里就只有一行语句,所以自动返回的是内层函数的返回值

你可能感兴趣的:(c++)