float类型问题
void doit(float* in,int count)
{
int x;
int y;
float temp;
for(y=0;y <count-1;y++)
{
for(x=1;x <count-y;x++)
{
if((*(in+x))> (*(in+x-1)))
{
temp=(*(in+x-1));
(*(in+x-1))=(*(in+x));
(*(in+x))=temp;
}
}
}
}
main()
{
float a[4]={1.1,2.3,1.2,2.2};
doit <float> d(a,4); //这个地方报错,expected expression before loat? 是什么原因?
for(int i=0;i <4;i++)
{
printf( "%f\n ",a[i]);
}
return 0;
}
[解决办法]
doit <float> d(a,4); //doit不是一个模板函数,你这里用的是调用模板的语法,还有a不是float类型,而是指向数组首元素的指针类型。
多看看基础。
[解决办法]
dlit又不是模板,你doit <float> 干什么?
[解决办法]
顶楼上
还有最好float a[4]={1.1f,2.3f,1.2f,2.2f};