注意到下面第九行的语句,如果没有哪个typename,在vc下面一点问题,也没有,但是在gcc环境下,却通不过,一个模板函数在vc,和Gcc下的不一样。
#include <iostream> #include <list> #include <vector> #include <string> using namespace std; template<typename T> void show(T ivec) { for (typename T::iterator iter=ivec.begin();iter!=ivec.end();++iter) { cout<<*iter<<" "; } cout<<endl; } int main() { char *sa[]={"Marry","Tom","Bob","Alice"}; list<char*> slst(sa,sa+4); vector<string> svec; string str; svec.assign(slst.begin(),slst.end()); show(slst); show(svec); return 0; }