我正在使用MVSE 2012 C ++和Boost。但是我收到一个错误: 这是代码供参考。我只是想获取输入,如下午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;
}
答案 0 :(得分:4)
在这段代码中看起来像boost :: tokenizer :: iterator不支持operator:
tokens1.end()-1
使用boost :: prior(tokens1.end())或std :: advance(tokens1.end(), - 1)