大佬教程收集整理的这篇文章主要介绍了基于范围的STL容器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include<vector> #include<boost/shared_ptr.hpp> #include<boost/range.hpp> using std::vector; using boost::shared_ptr; class Node; int main(void){ vector<shared_ptr<Node>> nodes; for(const shared_ptr<Node>& n: nodes); }
不能用gcc 4.6编译,导致
error: call of overloaded 'end(std::vector<boost::shared_ptr<Node> >&)' is ambiguous note: candidates are: /usr/include/c++/4.6/bits/range_access.h:78:5: note: decltype (__cont->end()) std::end(const _Container&) [with _Container = std::vector<boost::shared_ptr<Node> >,decltype (__cont->end()) = __gnu_cxx::__normal_iterator<const boost::shared_ptr<Node>*,std::vector<boost::shared_ptr<Node> > >] /usr/include/c++/4.6/bits/range_access.h:68:5: note: decltype (__cont->end()) std::end(_Container&) [with _Container = std::vector<boost::shared_ptr<Node> >,decltype (__cont->end()) = __gnu_cxx::__normal_iterator<boost::shared_ptr<Node>*,std::vector<boost::shared_ptr<Node> > >] /usr/include/boost/range/end.hpp:103:47: note: typename boost::range_iterator<const T>::type boost::end(const T&) [with T = std::vector<boost::shared_ptr<Node> >,typename boost::range_iterator<const T>::type = __gnu_cxx::__normal_iterator<const boost::shared_ptr<Node>*,std::vector<boost::shared_ptr<Node> > >] /usr/include/boost/range/end.hpp:92:41: note: typename boost::range_iterator<C>::type boost::end(T&) [with T = std::vector<boost::shared_ptr<Node> >,typename boost::range_iterator<C>::type = __gnu_cxx::__normal_iterator<boost::shared_ptr<Node>*,std::vector<boost::shared_ptr<Node> > >]
以上是大佬教程为你收集整理的基于范围的STL容器全部内容,希望文章能够帮你解决基于范围的STL容器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。