// This method is wrong,won't work,need your helptemplate < template <typename T> class U >voID foo(U& u) { T& blah = *u.begin();}int main(int,char**){ vector<int> myVec(4,10); foo<vector<int> >(myVec); // This is how I want to call it,even better if I can leave the parameters out and just do foo(myVec); return EXIT_SUCCESS;}
真的我想要做的是避免以下因为它似乎多余:
template <typename T,typename U>voID foo(U& u){T& blah = *u.begin(); }int main(int,10); foo<int,std::vector<int> >(myVec); // first int in parameters is redundant cause I already provIDe int as arg to vector return EXIT_SUCCESS;}解决方法 你可以做 :
template < typename U>voID foo(U& u) { typename U::value_type blah = *u.begin();}总结
以上是内存溢出为你收集整理的c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?全部内容,希望文章能够帮你解决c – 我可以轻松地创建一个模板函数,它接受任意类型的任意容器并对其进行 *** 作吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)