#include < iostream>
using namespace std;
template < typename T, int size >  //定义函数模板，包括类型参数T和数值参数size
int search( T (&ary)[size], T ele )  //定义查找函数：在T类型数组ary中查找元素ele
{
    for( int i = 0; i < size; i++ )   //遍历数组
    {
      if( ele == ary[i] )         //如果找到
      {
        return i;              //返回元素当前位置
      }
    }
    return -1;                 //未找到则返回-1
}
int main()                //实例化函数模板
{
    int i_ary[6] = { 1, 2, 3, 4, 5, 6 };  //定义含6个元素的整型数组
    double d_ary[5] = { 1.1, 2.2, 3.3, 4.4, 5.5 }; //定义含5个元素的浮点型数组
    cout<<"整数4的位置："<<search(i_ary, 4)<<endl; //在i_ary中查找4
    cout<<"整数12的位置："<<search(i_ary, 12)<<endl; //在i_ary中查找12
    cout<<"浮点数2.2的位置："<<search(d_ary, 2.2)<<endl; //在d_ary中查找2.2
    cout<<"浮点数9.9的位置："<<search(d_ary, 9.9)<<endl; //在d_ary中查找9.9
    return 0;
}
