簡體   English   中英

錯誤C2039:“ advance”:不是“ boost :: token_iterator”的成員 <TokenizerFunc,Iterator,Type> “

[英]error C2039: 'advance' : is not a member of 'boost::token_iterator<TokenizerFunc,Iterator,Type>'

我正在使用MVSE 2012 C ++和Boost。 但是我得到一個錯誤: 這不是雞。相信我。 這是供參考的代碼。 我只是想獲取諸如5:00 PM的輸入,將其轉換為整數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;
}

看起來boost :: tokenizer :: iterator不支持operator-在以下代碼部分中:

tokens1.end()-1

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM