请教一个有关const&的问题
rt,lz有一个有关const ref的问题,查了资料没找到合适的答案,讨论区的各位大佬走过路过麻烦解答一下~
以下是代码截图:
上图为头文件verify.h的代码,
上图为cpp文件verify.cpp的代码。
如图所示,我在verify.h文件中声明了fun4和fun5两个函数,在verify.cpp文件中实现了fun4和fun5两个函数,和.h文件中的声明不同的是,我在.cpp文件中的实现,给每个参数都加上了const。
执行上图所示的main函数代码,fun4会编译出错,报错undefined ref,也就是说,编译器认为cpp文件中fun4的实现是头文件中fun4函数的重载;而fun5则能成功执行。
lz的疑惑在于,为什么在实现上在&对象参数上加上一个const就会被编译器认为是不同的函数。const &的const和一般的const相比,有什么特殊的作用吗?