0

コードはそのようなものです

 void buildIt(Object& o, Tokenizer::const_iterator begin, Tokenizer::const_iterator end){
   if(begin == end) return;
   else{
    string parent = *begin;
    bool hasChild = (begin+1) != end; //error: class booost::token_iterator<...> has no member named 'advance'
   }
 }

次の反復子を移動せずに有効かどうかを確認するにはどうすればよいですか?

4

2 に答える 2

1

いつでもイテレータをコピーして、コピーをインクリメントできます。または使用しますboost::next

if(boost::next(iter) == end)
  cout << "...";
于 2012-11-09T19:20:26.870 に答える
1
for (Tokenizer::const_iterator i = begin; i!= end; ++i) {
    ...
}
于 2012-11-09T19:09:00.597 に答える