函数重载中的参数const问题
函数 参数 重载 const 问题
2023-09-14 09:11:22 时间
1.奇怪的现像:
int get(int ); int get(const int); //上面这样是可以的,不报错 int get(int ); double get(const int); //error: ambiguating new declaration of 'double get(int)' //上面这样会报错。
第一种是C++中函数可以重复声明,但不能重复定义;而第二种的意思就只有返回类型不同不能构成函数重载。
但是这样的话,如果两者都有了实现,就会报错:
int get(int a){cout<<"int a"; return a;} int get(const int a){cout<<"const in a"; return a;}//error: redefinition of 'int get(int)' int main(){ const int a=5; get(a); return 0; }
如果将参数改为引用类型或者是指针类型,就可以了:
int get(int &a){cout<<"int a"; return a;} int get(const int &a){cout<<"const in a"; return a;} int main(){ const int a=5; get(a); return 0; } #结果: const in a
这样的话就会自动匹配了。
相关文章
- Butterworth 滤波器s函数及z变换 Part2
- 【说站】js函数中参数的使用
- pandas drop参数_pandas concat函数
- Python之函数【参数,返回值,嵌套调用,作用域,匿名函数】
- 【数据挖掘】高斯混合模型 ( 高斯混合模型参数 | 高斯混合模型评分函数 | 似然函数 | 生成模型法 | 对数似然函数 | 高斯混合模型方法步骤 )
- 【C 语言】文件操作 ( 按照单个字符的方式读写文件 | fgetc 函数 | fputc 函数 )
- 【Kotlin】函数 ⑥ ( 函数参数为 Lambda 表达式 | Lambda 表达式作为参数的简略写法 | 唯一参数的简略写法 | 最后一个参数的简略写法 )
- WP_Query 和缓存相关的参数及函数
- Python基础语法-函数-函数装饰器-带参数的装饰器
- Python基础语法-函数-递归函数
- PHP中CURL方法curl_setopt()函数的参数详解编程语言
- PHP函数可变参数列表的具体实现方法介绍详解编程语言
- C/C++中可变参数函数的实现详解编程语言
- PHP带参数匿名函数详解编程语言
- Python函数中的参数(必需参数、关键字参数、默认参数和不定长参数)
- 掌握MySQL函数的写法(mysql函数怎么写)
- 用Linux函数调优参数(linux函数参数)
- 坚持不懈:用PHP实现MSSQL数据库连接(php链接mssql函数)
- SQLCONVERT转化函数使用方法小结
- js循环动态绑定带参数函数遇到的问题及解决方案[转]
- 析构函数与php的垃圾回收机制详解
- Swift中的可变参数函数介绍