C++类内缺省函数
1.问题来源
我需要在C++的一个类内函数进行缺省参数处理,声明和定义分别分布在.h文件和.cpp文件中,这里如何进行缺省处理就是一个问题,而网络上很多对这种情况说明的不太好,于是就有了这篇文章。
2.正确做法
在.h文件声明函数时,直接写上缺省值,在.cpp文件中不写缺省值。
例如:
Cal.h中:
int add(int a, int b = 0);
Cal.cpp中:
int add(int a, int b) {
return a + b;
}
3.其他方式报错
(1)报错:error: taking address of temporary [-fpermissive]
原因:.h文件中不写缺省,在.cpp文件中写缺省值。
(2)报错:error: default argument given for parameter 2 of ‘epoll_event Epoller::creatEpollEvent(int, uint32_t)’ [-fpermissive]
原因:.h和.cpp文件中全写缺省值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】