模板与vector共用,声明迭代器的写法

#include<iostream>
#include<string>
#include<vector>

void func(std::string ac)
{
    std::cout<<ac<<std::endl;
}
using namespace std;

template <typename T>
void funa(std::vector<T> ve)
{
     for(typename vector<T>::iterator iter=ve.begin();iter!=ve.end();iter++)
    {
        std::cout<<*iter<<std::endl;
    }
} 


int main()
{
    std::vector<int> ve;

    for(int x=0;x<5;x++)
    {
        int i;
        std::cin>>i;
        ve.push_back(i);
    }
    funa(ve);
    std::cout<<"hello !"<<std::endl;
    return 0;
}

例子如上,写法如下

 typename vector<T>::iterator iter;

panda

继续阅读此作者的更多文章