区切り文字に基づいて (Boost Tokenizer を使用して) 文字列をトークン化し、状態変数の値に基づいてトークンを処理します。
私が抱えている問題: ケースの 1 つは、文字列をさらにトークン化する必要があります。ケース内で tok1 および token イテレーター変数が宣言されているため、これによりエラーが発生します。スイッチの外側で宣言して、ケースの内側に割り当てるだけで試しましたが、うまくいきません。
これを機能させる方法を知っている人はいますか、またはケース内の文字列をさらにトークン化するより良い方法があるかどうかを知っていますか? ありがとう!
以下のコード例:
boost::char_separator<char> sep(TOKEN_DELIMETER_NEWLINE);
boost::char_separator<char> sep2(TOKEN_DELIMETER_SPACE);
tokenizer tok(_text, sep);
while(lineToken!=tok.end())
{
switch(state)
{
case FIRST_STATE:
lineToken++;
tokenizer tok1(*lineToken, sep2);
tokenizer::iterator token=tok1.begin();
break;
// Other Cases follow...
}
}