为什么我不能在main()
中为重载函数提供原型,就像我们对其他函数一样?例如,我写了以下代码
#include<iostream.h>
#include<conio.h>
void main()
{
void a(float);
void a(float,float);
a(2.4);
a(5.6,7.4);
getch();
}
void a(float x)
{
cout<<x;
}
void a(float y,float z)
{
cout<<y<<z;
}
运行此代码时turbo c ++编译器发出错误,我发现它忽略了函数a
的第二个声明,即void a(float,float);
,因此在调用时给出了错误额外参数到a(float)
。
答案 0 :(得分:0)
此代码在Wandbox上运行良好。
#include<iostream>
//#include<conio.h>
using std::cout;
int main()
{
void a(float);
void a(float,float);
a(2.4);
a(5.6,7.4);
//getch();
}
void a(float x)
{
cout<<x;
}
void a(float y,float z)
{
cout<<y<<z;
}
您的编译器似乎并不那么聪明。考虑使用其他编译器。