无法建立提升精神示例召唤2

  • 本文关键字:召唤 建立 c++ boost
  • 更新时间 :
  • 英文 :


我使用的是boost(1.77(灵气和lexer。错误处理程序需要一个字符流,但我向它传递了一个令牌流,导致错误消息混乱。

我相信下面的线索指向了一个解决方案:

BoostSpirit:Lex+Qi错误报告

在那里的评论中,@hkaiser写道:

只是一个更新:该示例已在SVN中重命名为magic2。

我刚刚看了一眼魔术2。为了理解这个程序的作用,我打开main.cpp并阅读评论,我发现的只是:

不再是计算器了,对吧?:-(

这意味着什么?

我试图编译程序,但它失败了:

"error C2516: 'boost::phoenix::evaluator::impl<const Expr&, 
boost::phoenix::vector2boost::mpl::true_,
boost::phoenix::is_nullary,boost::proto::envns_::empty_env>::result_type': 
is not a legal base class"

我做错了什么?

修复方法是将其放在lexer_def.hpp:的顶部

#include <boost/phoenix/operator.hpp>

这应该定义阻止lexer语义操作编译的缺少的表达式模板运算符。

最新更新