1
我剛開始使用Spirit X3,我有一個與我的第一次測試有關的小問題。你知道爲什麼這個函數返回「false」嗎?從精神開始X3
bool parse()
{
std::string rc = "a 6 literal 8";
auto iter_begin = rc.begin();
auto iter_end = rc.end();
bool bOK= phrase_parse(iter_begin, iter_end,
// ----- start parser -----
alpha >> *alnum >> "literal" >> *alnum
// ----- end parser -----
, space);
return bOK && iter_begin == iter_end;
}
我見過這個問題與我如何編寫語法有關。如果我用這個替換它,它返回「真」
alpha >> -alnum >> "literal" >> *alnum
我使用包括在Boost 1.61.0中的Spirit版本。
由於提前,
森
在這裏,您可以在線測試代碼:http://coliru.stacked-crooked.com/a/0ce333c6e9f75f66 – Sen