I want to traverse a vector but I don't know it's type before hand.So,I do the following : -
template<typename T>
vector<int> sas_v(vector<T>vT,T val)
{
vector<int>il; //index_list
vector<T>::iterator it;
for(it = vT.begin();it!=vT.end();it++)
{
if(*it==val)
il.push_back(it-vT.begin()); //0 based indexing
}
return il;
}
But I get bunch of errors.Though if I do this following way it works,Why?
template<typename T>
vector<int> sas_v(vector<T>vT,T val)
{
vector<int>il; //index_list
// vector<T>::iterator it;
// for(it = vT.begin();it!=vT.end();it++)
for(int a=0;a<vT.size();a++)
{
if(vT[a]==val)
il.push_back(a); //0 based indexing
}
return il;
}