Chinaunix

标题: C++中void fun(const int i)与void fun(int i)类型的函数是同一个函数? [打印本页]

作者: kewenliang    时间: 2008-06-29 09:32
标题: C++中void fun(const int i)与void fun(int i)类型的函数是同一个函数?
定义了void fun(const int i)与
      void fun(int i)
编译出错 提示:fun(const int )已经存在。
作者: tyc611    时间: 2008-06-29 10:41
它们的函数签名相同,对于用户来讲,都是传值,无所谓const,因此,const被忽略
但在函数实现时,可以使用const修饰,以告诉编译器该变量不可修改,防止无意修改
作者: ruoyisiyu    时间: 2008-06-29 10:43
原帖由 tyc611 于 2008-6-29 10:41 发表
它们的函数签名相同,对于用户来讲,都是传值,无所谓const,因此,const被忽略
但在函数实现时,可以使用const修饰,以告诉编译器该变量不可修改,防止无意修改

以前也知道const作修饰的作用,可是没想到对于c++函数重载有没有影响
作者: tyc611    时间: 2008-06-29 10:59
原帖由 ruoyisiyu 于 2008-6-29 10:43 发表

以前也知道const作修饰的作用,可是没想到对于c++函数重载有没有影响

如果是引用,则区分const与非const
作者: ruoyisiyu    时间: 2008-06-29 11:04
原帖由 tyc611 于 2008-6-29 10:59 发表

如果是引用,则区分const与非const

非引用呢?如lz的情况
作者: tyc611    时间: 2008-06-29 11:06
原帖由 ruoyisiyu 于 2008-6-29 11:04 发表

非引用呢?如lz的情况

看贴要从上到下挨个看

见2楼
作者: ruoyisiyu    时间: 2008-06-29 11:09
标题: 回复 #6 tyc611 的帖子
见笑了。。以前多c++接触不深啊
作者: sharpshootor    时间: 2008-06-29 20:20
还有这区别啊,看来我还有很多要学




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2