有没有遇到过这样的问题,用全缺省函数时,定义声明分离后,就会报错?如图下
为什么会这样呢?是因为如下定义和声明都会进行int x = 0, int y = 0;这个操作,导致定义了俩次;
int Add(int x = 0, int y = 0);//自己定义的函数
int Add(int x = 0, int y = 0)
{
return x + y;
}
解决方案
在声明时给相应的默认值足够了。如图下。
int Add(int x = 0, int y = 0);
int Add(int x , int y )
{
return x + y;
}
如果只在定义时给呢?如图下。
直接报错,所以规定好了在声明时加默认值就好。
ps:c++有些语法抽象点,记住就好了。