2 回答
TA贡献1818条经验 获得超3个赞
程序没有错误。
int a;
double b; //你定义的时候就固定好了它的类型,所以调用的时候自然对应调用其函数原型
char c;
如果,你是想 对输入的一个数据判断其为什么类型,的确需要先进行判断。
如下思考的一个判断。
#include<iostream>
#include <string>
using namespace std;
void display(int a);
void display(double b);
void display(char c);
int main()
{
char a[10];
int b;
double c;
cout<<"请随便输入一个参数a:"<<endl;
cin>>a;
b = atoi(a);
c = atof(a);
if(a[0]<'0' || a[0]>'9' )
{
display(a[0]);
return 1;
}
if(b!=c)
{
display(c);
}
else
{
display(b);
}
return 0;
}
void display(int a)
{
cout<<"参数a类型是int "<<endl;
}
void display(double b)
{
cout<<"参数a类型是double"<<endl;
}
void display(char c)
{
cout<<"参数a类型是char"<<endl;
}
/*
int i = 10;
double d = 10.0;
if (typeid(i).name() == std::string("int"))
std::cout << typeid(i).name() << std::endl;
if (typeid(d).name() == std::string("double"))
std::cout << typeid(d).name() << std::endl;
*/
添加回答
举报