首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法构建Boost精神示例conjure2

无法构建Boost精神示例conjure2
EN

Stack Overflow用户
提问于 2021-12-21 10:22:39
回答 1查看 88关注 0票数 3

我正在使用助推(1.77)精神气和雷克萨斯。错误处理程序需要一个字符流,但我要向它传递一个令牌流,从而导致错误消息的混淆。

我认为,下面的线索指出了一个解决办法:

Boost.Spirit: Lex + Qi error reporting

在评论中,@hkaiser写道:

只是一个更新:这个示例在SVN中被重命名为conjure2。

我刚看了一下conjure2。为了理解该程序的功能,我打开main.cpp并阅读评论,我发现的所有内容如下:

不再是计算器了,对吗?:-)

这是什么意思?

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

代码语言:javascript
复制
"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"

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-12-23 09:00:17

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

代码语言:javascript
复制
#include <boost/phoenix/operator.hpp>

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70433905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档