c ++中重载函数的原型

时间:2015-12-05 16:14:09

标签: c++

为什么我不能在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)

1 个答案:

答案 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;
}

您的编译器似乎并不那么聪明。考虑使用其他编译器。