首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有关STL的小疑点,请指点

2012-02-25 
有关STL的小问题,请各位高手指点我定义一个头文件 getIndex template classTintGetIndex(Tlist[],intn

有关STL的小问题,请各位高手指点
我定义一个头文件 "getIndex "
template <class   T>
int   GetIndex(T   list[],int   n,T   key)
{
for(int   i=0;i <n;i++)
if(list[i]==key)
return   i;
else
return   -1;
}

然后在main函数中调用,如下:
#include <iostream.h>
#include "getIndex.h "

void   main()
{
int   A[5]={1,2,3,4,5},Aindex,Bindex;
float   B[4]={1.1,2.2,3.3,4.4},Bkey=2.2;
Aindex=GetIndex(A,5,3);
Bindex=GetIndex(B,4,Bkey);
cout < < "Item   3   is   at   index " < <Aindex < <endl;
                  cout < < "Item   2.2   is   at   index " < <Bindex < <endl;
}
运行结果为:
                  Item   3   is   at   index   -1
                  Item   2.2   is   at   index   -1
那么为什么结果不正确呢?
希望各位高手热情指点,感激不尽。

[解决办法]
template <class T>
int GetIndex(T list[],int n,T key)
{
for(int i=0;i <n;i++)
{
if(list[i]==key)
return i;
}
return -1;
}

[解决办法]
for(int i=0;i <n;i++)
if(list[i]==key)
return i;
else
return -1;
改成
for(int i=0;i <n;i++)
{
if (list[i]==key)
return i;
}
return -1;

热点排行