1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > C++之erro: no matching function for call to

C++之erro: no matching function for call to

时间:2019-11-28 21:52:02

相关推荐

C++之erro: no matching function for call to

这里写自定义目录标题

事情是这样的:

主函数调用时:

Luban luban("Luban",5,100,"red")

Luban.h文件:

class Luban:public Hero,public Shooter {public:void show(void);Luban(const string &name,int distance,const string &color,int leg);~Luban();private:int leg;Skin skin;};

Luban.c成员初始化列表:

Luban::Luban(const string &name,int distance,const string &color,int leg):Hero(name),Shooter(distance),skin(color)

此时我以为自己写的代码万无一失,但是编译器还是报错了,来看看编译器报了什么错:

erro:no matching function for call to 'Luban::Luban(const char [6], int, int, const char [4])'

Luban luban(“Luban”,5,100,“red”);

编译器竟然说找不到匹配项,我想了又想,明明我已经对这个参数定义了,也初始化了,为什么会这样。

后来我才发现,原来是参数项不匹配。

修改一下:

Luban luban(“Luban”,100,“red”,5)

再次编译:

现在没问题了

原来是调用的顺序和初始化的参数顺序不一致,我想了想,毕竟编译器还是没有那么智能的。

虽然问题比较小白,但是为我的机智点赞,希望路过的大佬们有更好地观点或者更好地方法能指点一下。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。