函数返回值不能作为函数重载的条件,因为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;
}