鳳凰功能語義動作我想解析字符串,並確保它是小寫。沒有編制
它,因爲精神構建樹出來的這一切將在這個階段完成。
,所以我有這個規則
struct to_lower_object
{
typedef char result_type;
char operator()(char a) const
{
return std::tolower(a);
}
};
int main()
{
boost::phoenix::function<to_lower_object> lazy_lower;
qi::rule<std::string::iterator, char() >
lower_char=(qi::char_-":")
[
qi::_val=lazy_lower(qi::_1);
];
qi::rule<std::string::iterator, std::string() >
lower_string =
+lower_char;
:::
問題是,它無法編譯,錯誤的是巨大的也是,往大了發佈。
感謝
編輯:我定的操作符重載,那是我不好,但問題仍然存在。我相信*這是與佔位符
EDIT2:我已經分解了這個問題,以確保它在一個字符而不是一系列的工作,但它仍然不工作與錯誤。
您正在使用鳳凰V2或V3? – ildjarn
鳳凰第3版提升1.47 – 111111