错误C2039:'advance':不是'boost :: token_iterator <tokenizerfunc,iterator,type>'</tokenizerfunc,iterator,type>的成员

时间:2013-06-16 05:31:16

标签: c++ boost

我正在使用MVSE 2012 C ++和Boost。但是我收到一个错误: this is not a chicken. trust me. 这是代码供参考。我只是想获取输入,如下午5:00,将其转换为整数5,整数00和字符串PM。 (后来我想操纵那些信息)。

#include <iostream>
#include <boost/tokenizer.hpp>
#include <string>
#include <stdlib.h>

int main() 
{typedef boost::tokenizer<boost::char_separator<char> > 
    tokenizer;
    boost::char_separator<char> sep(": ");
    int value1 [2];
    tokenizer tokens1(str1, sep);
        for (tokenizer::iterator tok_iter1 = tokens1.begin();
        tok_iter1 != tokens1.end()-1 ; ++tok_iter1)
            for (int iii=0; iii <= 1; iii++)
                value1[iii] = atoi(str1.c_str());   
   return 0;
}

1 个答案:

答案 0 :(得分:4)

在这段代码中看起来像boost :: tokenizer :: iterator不支持operator:

tokens1.end()-1

使用boost :: prior(tokens1.end())或std :: advance(tokens1.end(), - 1)