void function(void);
int function (void);
上述两个函数,第一个没有返回值,第二个的返回值是int类型。如果这样调用函数:
int x = function ();
则可以判断出function是第二个函数。问题是在c++/c程序中,我们可以忽略函数的返回值。在这种情况下,编译器和程序员都不知道哪个function函数被调用。
所以只能靠参数而不能靠返回值类型的不同来区分重载函数。编译器根据参数为每个重载函数产生不同的内部标识符。
void function(void);
int function (void);
上述两个函数,第一个没有返回值,第二个的返回值是int类型。如果这样调用函数:
int x = function ();
则可以判断出function是第二个函数。问题是在c++/c程序中,我们可以忽略函数的返回值。在这种情况下,编译器和程序员都不知道哪个function函数被调用。
所以只能靠参数而不能靠返回值类型的不同来区分重载函数。编译器根据参数为每个重载函数产生不同的内部标识符。