这是一个无法正常运行的代码,但如果我们将此函数用作独立的模板函数。
#include <iostream>
#define MAX 100
using namespace std;
int z=10;
template <class T>class A
{
public:
A()
{
cout<<"A constructor\n";
}
int z;
T sort_rishi_fun(T arr[]);
};
template <class T>T A <T>::sort_rishi_fun( T arr[])
{
for(int i=0;i<z;i++)
{
for(int j=0;j<z;j++)
{
if(arr[j+1]<arr[j])
{
T temp;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
int main()
{
int z=10;
int arr[100];
cout << "\nEnter the number you wanted to be sort\n" << endl;
for(int i=0;i<z;i++)
{
cout<<"::insert the value at"<<i<<"th location::";
cin >> arr[i];
}
cout<<"you have inserted this\n";
for(int i=0;i<=z;i++)
{
cout<<arr[i]<<endl;
}
A<int> a;
a.sort_rishi_fun(arr)
for(int i=0;i<=z;i++)
{
cout<<arr[i]<<endl;
}
return 0;
}
如果我们将此函数用作独立的模板函数,那么它将起作用。但它现在会创建一个无限循环。请解释任何人。