今天上午编译的时候,函数声明的时候加了默认参数,但是编译的时候一直提示标题所述的错误,让我都开始怀疑编译器有问题,或者颠覆了我的三观,难道c++开始不支持默认参数了吗? 肯定不是这样的。
报错的原因是:一个函数申明的时候有了默认参数的默认值,在定义的时候如果还带了默认值,那就会报这个错误。
但是我反复检查,我写的是对的,这是常识问题了,怎么还老报错。
后来我才发现,我的头文件被include了两次,头文件里没有加只编译一个的条件限制。
两种方式:
一:在头文件里首部加 #pargram once //不建议这样做,这是微软的方式
二:
#ifndef INCLUDE_H
#define INCLUDE_H
...
#endif