error:C2572 重复定义默认参数

今天上午编译的时候,函数声明的时候加了默认参数,但是编译的时候一直提示标题所述的错误,让我都开始怀疑编译器有问题,或者颠覆了我的三观,难道c++开始不支持默认参数了吗? 肯定不是这样的。

报错的原因是:一个函数申明的时候有了默认参数的默认值,在定义的时候如果还带了默认值,那就会报这个错误。

但是我反复检查,我写的是对的,这是常识问题了,怎么还老报错。

后来我才发现,我的头文件被include了两次,头文件里没有加只编译一个的条件限制。

两种方式:

一:在头文件里首部加 #pargram once //不建议这样做,这是微软的方式

二:

#ifndef INCLUDE_H

#define INCLUDE_H

...

#endif

Guess you like

Origin blog.csdn.net/struborn_b/article/details/107485382