猿问

关于C++函数模板的冒泡排序 #include<iostream> using nam,请问错误点?

C++函数模板的冒泡排序

#include<iostream>
using namespace std;
template <class M>
M mob(M n)
{
int li[n];
for(int i=0;i<n;i++)
for(int j=n-1;j>i;j--)
if(li[j-1]>li[j])
{
int temp=li[j=1];
li[j-1]=li[j];
li[j]=temp;
}
/* cout<<"the result is:"<<endl;
for(int k=0;k<5;k++)
cout<<li[k]<<"";*/
}
int main()
{ int h;
int l[h]={44,45,84,56,5};
cout<<mob(h)<<" ";
}


摇曳的蔷薇
浏览 261回答 2
2回答

肥皂起泡泡

第一个错误为h没有初始化,在定义数组时需要一个明确的值;第二个错误是你没把数组值传给函数mob,而只传数组长度,这样函数是无法对数组排序的

慕侠2389804

没有返回值,并且li[]是局部变量,对l[]没有影响
随时随地看视频慕课网APP
我要回答