0

MVSE 2012 C++ と Boost を使用しています。ただし、エラーが発生 これはニワトリではありません。 私を信じて。 します。参照用のコードは次のとおりです。午後 5 時などの入力を取得して、整数 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;
}
4

1 に答える 1

4

このコード部分では、boost::tokenizer::iterator が operator- をサポートしていないようです。

tokens1.end()-1

代わりに boost::prior(tokens1.end()) または std::advance(tokens1.end(), -1) を使用してください

于 2013-06-16T05:58:16.243 に答える