求教函数模板的有关问题
求教函数模板的问题!
#include <iostream>
using namespace std;
template<class T>
T main(T a,T b)
{
int c;
cin>>a,b;
c=a+b;
cout<<c<<endl;
return 0;
}
为什么编译通过,连接报错啊!报错如下:
--------------------Configuration: 函数模板练习 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/函数模板练习.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
函数模板练习.exe - 1 error(s), 0 warning(s)
------解决方案--------------------
这是main函数,不要动他,
模板的话自己再定义一个函数吧
------解决方案--------------------
#include <iostream>
using namespace std;
template<class T>
T main(T a,T b)
{
int c;
cin>>a,b;
c=a+b;
cout<<c<<endl;
return 0;
}
为什么编译通过,连接报错啊!报错如下:
--------------------Configuration: 函数模板练习 - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/函数模板练习.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
函数模板练习.exe - 1 error(s), 0 warning(s)
------解决方案--------------------
这是main函数,不要动他,
模板的话自己再定义一个函数吧
------解决方案--------------------
- C/C++ code
#include <iostream> using namespace std; template<class T> T sort(T num[]) { int i,j; for(i=10;i>0;--i) { for(j=0;j<i-1;++j) { if(num[j]>num[j+1]) { num[j]=num[j+1]+num[j]; num[j+1]=num[j]-num[j+1]; num[j]=num[j]-num[j+1]; } } } return 1; } int main() { int num[10]={2,3,4,5,9,8,7,6,1,0}; double numd[10]={2.1,2.4,2.6,1.2,2.0,6.7,5.6,10.0,9.7,8}; sort(numd); sort(num); cout<<"Double"<<endl; for(int i=0;i<10;++i) cout<<numd[i]<<" "; cout<<endl<<"INT"<<endl<<endl; for(int i=0;i<10;++i) cout<<num[i]<<" "; cin.get(); return 0; }
------解决方案--------------------
main函数不能用做模板函数的