初學c++之template
阿新 • • 發佈:2019-02-19
初學c++的問題
程式碼1可行,程式碼2出錯。
程式碼1:
#include<iostream>
using namespace std;
template <typename T>
T max(T a[])
{
int i;
T temp=a[0];
for(i=0;i<4;i++)
if(a[i] < temp)
temp=a[i];
return temp;
}
int main()
{
int a[4]={4,2,3,5};
double b[4 ]={1.1,4.5,3.2,0.5};
int aa;
double bb;
aa=max(a);
bb=max(b);
cout << aa <<endl;
cout << bb <<endl;
return 0;
}
程式碼2:
#include<iostream>
using namespace std;
template <typename T>
T max(T a[]);//出錯!
int main()
{
int a[4]={4,2 ,3,5};
double b[4]={1.1,4.5,3.2,0.5};
int aa;
double bb;
aa=max(a);
bb=max(b);
cout << aa <<endl;
cout << bb <<endl;
return 0;
}
T max(T a[])
{
int i;
T temp=a[0];
for(i=0;i<4;i++)
if(a[i] > temp)
temp=a[i];
return temp;
}
template <typename T>
使用T寫的函式似乎不能在之前定義……