我是一个精神初学者,现在正在研究它。我在这个例子中,一个简单的计算器。我成功编译并运行了程序。运行它说的程序时,键入一些语句,然后键入 . 编译和运行这些语句。我在不同的运行中键入以下内容,并在每行之后键入 a 。(时期)。
2
2;
2*2
2*2;
x=2
x=2;
但它们都不起作用。每次它说“解析失败。”。缺少什么,或者这个例子有什么问题。示例程序的语法在这里。请注意,我知道我没有使用最新的精神,我使用的是 1.46.1 版本,这是 Ubuntu 12.04 中的默认版本。
您似乎错过了程序解析语句而不是裸表达式的事实,请参见http://www.boost.org/doc/libs/1_46_1/libs/spirit/example/qi/calc6/calc6c.hpp
所以试试这个:
var y;
var x = 6;
y = 3 * x;
输出:
-------------------------
Parsing succeeded
-------------------------
Results------------------
x: 6
y: 18
-------------------------
Bye... :-)
希望有帮助。并考虑升级 boost - 在 Debian/Ubuntus 上从源代码安装它非常简单。