c++问题,急求解决!!!
#include"stdafx.h"#include<iostream>usingnamespacestd;template<typenameT>voidchange(T...
#include "stdafx.h"
#include <iostream>
using namespace std;
template<typename T>
void change(T &a,T &b,T &t)//可以这样写
{t=a;a=b;b=t;}
void px(int &a,int &b,int &c)
{ int t=0;
// void change(T &a,T &b,T &t);//注意模板建立后不用声明就可以使用
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(float &a,float &b,float &c)
{float t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(double &a,double &b,double &c)
{ double t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
int main(int argc, char* argv[])
{
int a,b,c,n;
float d,e,f;
double g,h,i;
void px(int &a,int &b,int &c);
void px(float &a,float &b,float &c);
void px(double &a,double &b,double &c);
cout<<"要排序的数据类型是:"<<endl<<"[1]整形"<<endl<<"[2]单精度型"<<"[3]双精度型"<<endl;
cin>>n;
cout<<"要排序的三个数:"<<endl;
if(n==1)
{cin>>a>>b>>c;
px(a,b,c);
cout<<a<<b<<c;}
else if(n==2)
{cin>>d>>e>>f;
px(d,e,f);
cout<<d<<e<<f;}
else if(n==3)
{cin>>g>>h>>i;
px(g,h,i);
cout<<g<<h<<i;}
return 0;
}
---Configuration: 用重载函数对n个数排序 - Win32 Debug--------------------
Compiling...
用重载函数对n个数排序.cpp
d:\visual c++\vc98\include\ostream(119) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'E:\8168\vc98\p2\src\P2\main.c', line 494)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
执行 cl.exe 时出错.
而且在用DEVc++时不能出结果,系统闪一下就过,求解决!!谢谢各位了!! 展开
#include <iostream>
using namespace std;
template<typename T>
void change(T &a,T &b,T &t)//可以这样写
{t=a;a=b;b=t;}
void px(int &a,int &b,int &c)
{ int t=0;
// void change(T &a,T &b,T &t);//注意模板建立后不用声明就可以使用
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(float &a,float &b,float &c)
{float t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(double &a,double &b,double &c)
{ double t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
int main(int argc, char* argv[])
{
int a,b,c,n;
float d,e,f;
double g,h,i;
void px(int &a,int &b,int &c);
void px(float &a,float &b,float &c);
void px(double &a,double &b,double &c);
cout<<"要排序的数据类型是:"<<endl<<"[1]整形"<<endl<<"[2]单精度型"<<"[3]双精度型"<<endl;
cin>>n;
cout<<"要排序的三个数:"<<endl;
if(n==1)
{cin>>a>>b>>c;
px(a,b,c);
cout<<a<<b<<c;}
else if(n==2)
{cin>>d>>e>>f;
px(d,e,f);
cout<<d<<e<<f;}
else if(n==3)
{cin>>g>>h>>i;
px(g,h,i);
cout<<g<<h<<i;}
return 0;
}
---Configuration: 用重载函数对n个数排序 - Win32 Debug--------------------
Compiling...
用重载函数对n个数排序.cpp
d:\visual c++\vc98\include\ostream(119) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'E:\8168\vc98\p2\src\P2\main.c', line 494)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
执行 cl.exe 时出错.
而且在用DEVc++时不能出结果,系统闪一下就过,求解决!!谢谢各位了!! 展开
3个回答
展开全部
//#include "stdafx.h"
#include <iostream>
using namespace std;
template<typename T>
void change(T &a,T &b,T &t)//可以这样写
{t=a;a=b;b=t;}
void px(int &a,int &b,int &c)
{ int t=0;
// void change(T &a,T &b,T &t);//注意模板建立后不用声明就可以使用
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);//搜索
}
void px(float &a,float &b,float &c)
{float t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(double &a,double &b,double &c)
{ double t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
int main(int argc, char* argv[])
{
int a,b,c,n;
float d,e,f;
double g,h,i;
void px(int &a,int &b,int &c);
void px(float &a,float &b,float &c);
void px(double &a,double &b,double &c);
cout<<"要排序的数据类型是:"<<endl<<"[1]整形"<<endl<<"[2]单精度型"<<"[3]双精度型"<<endl;
cin>>n;
cout<<"要排序的三个数:"<<endl;
if(n==1)
{cin>>a>>b>>c;
px(a,b,c);
cout<<a<<b<<c;}
else if(n==2)
{cin>>d>>e>>f;
px(d,e,f);
cout<<d<<e<<f;}
else if(n==3)
{cin>>g>>h>>i;
px(g,h,i);
cout<<g<<h<<i;}
cout << endl;
system("Pause");
return 0;
}
#include <iostream>
using namespace std;
template<typename T>
void change(T &a,T &b,T &t)//可以这样写
{t=a;a=b;b=t;}
void px(int &a,int &b,int &c)
{ int t=0;
// void change(T &a,T &b,T &t);//注意模板建立后不用声明就可以使用
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);//搜索
}
void px(float &a,float &b,float &c)
{float t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
void px(double &a,double &b,double &c)
{ double t=0;
if(a>b)
change(a,b,t);
else if(a>c)
change(a,c,t);
else if(b>c)
change(b,c,t);
}
int main(int argc, char* argv[])
{
int a,b,c,n;
float d,e,f;
double g,h,i;
void px(int &a,int &b,int &c);
void px(float &a,float &b,float &c);
void px(double &a,double &b,double &c);
cout<<"要排序的数据类型是:"<<endl<<"[1]整形"<<endl<<"[2]单精度型"<<"[3]双精度型"<<endl;
cin>>n;
cout<<"要排序的三个数:"<<endl;
if(n==1)
{cin>>a>>b>>c;
px(a,b,c);
cout<<a<<b<<c;}
else if(n==2)
{cin>>d>>e>>f;
px(d,e,f);
cout<<d<<e<<f;}
else if(n==3)
{cin>>g>>h>>i;
px(g,h,i);
cout<<g<<h<<i;}
cout << endl;
system("Pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询