代码是这样的
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'
}
}
如何在不移动的情况下检查下一个迭代器是否有效?
答案 0 :(得分:1)
for (Tokenizer::const_iterator i = begin; i!= end; ++i) {
...
}
答案 1 :(得分:1)
您始终只需复制迭代器并增加副本即可。或者使用boost::next
。
if(boost::next(iter) == end)
cout << "...";