函数返回值不能作为函数重载的条件,因为C++的函数重载是基于函数名和参数列表来识别的,而不是基于返回类型。
#include <iostream>
using namespace std;
// 函数重载:
// 1、同一个作用域下
// 2、函数名称相同
// 3、函数参数类型不同,或者个数不同,或者顺序不同
void func()
{
cout << "func 的调用 " << endl;
}
void func(int a)
{
cout << "func(int a) 的调用 " << endl;
}
void func(double a)
{
cout << "func(double a) 的调用 " << endl;
}
void func(int a,double b)
{
cout << "func(int a,double b) 的调用 " << endl;
}
void func(double a, int b)
{
cout << "func(double a, int b) 的调用 " << endl;
}
//参数列表相同,编译器无法区分这两个函数,因此会报错
//int func(double a, int b)
//{
// return a + b;
//}
int main()
{
func();
func(10);
func(3.14564);
func(1.1,10);
func(10,156113.123);
system("pause");
return 0;
}