C语言中如何实现类内默认函数的调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计284个文字,预计阅读时间需要2分钟。
1. 问题来源及需求 在C++中,我需要在一个类内定义一个函数,进行参数的缺失处理。如何在.h和.cpp文件中声明和定义这种函数,进行参数的缺失处理,这是一个问题。而网上对于这类情况的说明并不太详细。
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文件中写缺省值。
本文共计284个文字,预计阅读时间需要2分钟。
1. 问题来源及需求 在C++中,我需要在一个类内定义一个函数,进行参数的缺失处理。如何在.h和.cpp文件中声明和定义这种函数,进行参数的缺失处理,这是一个问题。而网上对于这类情况的说明并不太详细。
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文件中写缺省值。

