分析一下这个程序 关于参数的默认值

请问 int sum 是一个函数嘛 为什么我int sum(int a=20 , int b=20)会出错
然后sum(b)是求b的和吗? 能帮我分析一下吗 谢谢!



#include 
using namespace std;

int sum(int a  , int b=20)
{
    int result;

    result = a + b;

    return (result);
}

int main()
{
    // 局部变量声明
    int a = 100;
    int b = 200;
    int result;

    // 调用函数来添加值
    result = sum(a, b);
    cout << "Total value is :" << result << endl;

    // 再次调用函数
    result = sum(b);
    cout << "Total value is :" << result << endl;

    return 0;
}

请问 int sum 是一个函数嘛
对的
int sum(int a=20 , int b=20)会出错
你这是函数申明的代码,还是函数实现代码,还是函数调用代码???
作为函数申明代码是可以的。实现代码的话不能写默认值。函数调用的话写成sum(20,20)

sum(b)相当于将b赋值给参数a,然后第二个参数默认为20,也就是计算b和20的和