gameloft笔试的几道经典原题 软件测试
有几道题还是比较经典。
#include
using namespace std;
void func(float f)
{
printf("%f\n",f);
}
void func(int i)
{
printf("%d\n",i);
}
int main(int argc,char *argv[])
{
func(1.2);
return 0;
}
以上代码在VC中编译有一条错误ambiguous call to overloaded function,问题在于函数重载存在二义性。
解决方法:
(1)、将void func(float f)改为void func(double f)
(2)、将void func(float f)加上一个未定义参数,如void func(float f,int),在main函数中如此调用:
func(1.2,0);
以上两种方法均能得到正确结果。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/