C++语句定义的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:26:58
int b(int x=3){return x*x;}
书上说语句错误,不能再次定义x=3,请问什么意思啊?

你是想让 x=3 作为默认参数吗?
要是想作为默认参数需要在函数声明时指定:int b(int x = 3);
在函数定义的时候就不能写x=3了,应该为:int b(int x) {return x * x;}

既可以在函数声明,也可以在函数定义中指定默认形参。但在一个文件中,只能为一个形参提供一次默认的一次

你调用b();就相当于调用b(3);

这种定义是允许的,x=3是默认参数值。