只能靠参数而不能靠返回值类型的不同来区分重载函数

void function(void);

int function (void);

上述两个函数,第一个没有返回值,第二个的返回值是int类型。如果这样调用函数:

  int x = function ();

则可以判断出function是第二个函数。问题是在c++/c程序中,我们可以忽略函数的返回值。在这种情况下,编译器和程序员都不知道哪个function函数被调用。

   所以只能靠参数而不能靠返回值类型的不同来区分重载函数。编译器根据参数为每个重载函数产生不同的内部标识符。

阅读更多
文章标签: function 编译器 c++
个人分类: c++
上一篇高质量c++/c编程指南(8,9章)转
下一篇overload,override
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭