C++中void fun(const int i)与void fun(int i)类型的函数是同一个函数?

kewenliang
C++中void fun(const int i)与void fun(int i)类型的函数是同一个函数?

定义了void fun(const int i)与
      void fun(int i)
编译出错 提示:fun(const int )已经存在。

tyc611
它们的函数签名相同,对于用户来讲,都是传值,无所谓const,因此,const被忽略
但在函数实现时,可以使用const修饰,以告诉编译器该变量不可修改,防止无意修改

ruoyisiyu
[quote]原帖由 [i]tyc611[/i] 于 2008-6-29 10:41 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8695754&ptid=1183627][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
它们的函数签名相同,对于用户来讲,都是传值,无所谓const,因此,const被忽略
但在函数实现时,可以使用const修饰,以告诉编译器该变量不可修改,防止无意修改 [/quote]
以前也知道const作修饰的作用,可是没想到对于c++函数重载有没有影响

tyc611
[quote]原帖由 [i]ruoyisiyu[/i] 于 2008-6-29 10:43 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8695764&ptid=1183627][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

以前也知道const作修饰的作用,可是没想到对于c++函数重载有没有影响 [/quote]
如果是引用,则区分const与非const

ruoyisiyu
[quote]原帖由 [i]tyc611[/i] 于 2008-6-29 10:59 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8695864&ptid=1183627][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

如果是引用,则区分const与非const [/quote]
非引用呢?如lz的情况

tyc611
[quote]原帖由 [i]ruoyisiyu[/i] 于 2008-6-29 11:04 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8695884&ptid=1183627][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

非引用呢?如lz的情况 [/quote]
看贴要从上到下挨个看:mrgreen:

见2楼

ruoyisiyu
回复 #6 tyc611 的帖子

见笑了。。以前多c++接触不深啊

sharpshootor
还有这区别啊,看来我还有很多要学