Code Bye

Accelerated C++第四章示例程序在VS2010上运行后显示函数重载错误,是为什么

详情如下:

三种grade函数的定义均在图中,本人觉得应该不会发生调用不明的问题。
第二个grade中的median()函数会返回一个double类型的值
第三个grade函数中调用的grade的形参s.midterm,s.final,s.homework的类型分别是double,double,vector<double>
解决方案

20

引用

第三个grade函数中调用的grade的形参s.midterm,s.final,s.homework的类型分别是double,double,vector<double>

这个想法并不正确,由于s是const 的,所以实际上
第三个grade函数中调用的grade的形参s.midterm,s.final,s.homework的类型分别是const double,const double,const vector<double>
还有,题主应该有一个形如grade(double,double,vector<double>)的函数声明在某个头文件里,题主似乎忘了这个东西的存在

40

并不是两个函数参数不一样就可以,你的情况正如这个例子:
void fun(int a)
{
}
void fun(const int& a)
{
}
void main()
{
	fun(1); //调用不明确
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Accelerated C++第四章示例程序在VS2010上运行后显示函数重载错误,是为什么