默认参数不能重复定义(构造函数)

今天做练习的时候发现了一个很有意思的错误:

class Box
***
Box(double l=0,double w=0,double h=0)
{length=l;width=w;height=h;}

在类内定义没有错误但是这样:(在类外定义)

Box::Box(double l=0,double w=0,double h=0)
{length=l;width=w;height=h;}

出现了这样的错误:

'Box::Box' : redefinition of default parameter : parameter 3

 see declaration of 'Box::Box'

意思大概是默认参数已经定义过了,不能重复定义,要想在类外定义把等于零去掉就好

Box::Box(double l,double w,double h)
{length=l;width=w;height=h;}

猜你喜欢

转载自blog.csdn.net/weixin_41499217/article/details/80729830