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

void function(void);

int function (void);

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

  int x = function ();

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

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

阅读更多
想对作者说点什么?

博主推荐

换一批

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