【发布时间】:2022-01-22 18:48:43
【问题描述】:
我正在使用 boost (1.77) 灵气和词法分析器。错误处理程序需要一个字符流,但我传递给它一个令牌流,导致错误消息乱码。
我相信下面的线程指向一个解决方案:
Boost.Spirit: Lex + Qi error reporting
在那里的 cmets 中,@hkaiser 写道:
只是一个更新:该示例已在 SVN 中重命名为 conjure2。
我刚刚看了 conjure2。为了了解程序的作用,我打开 main.cpp 并阅读 cmets,我发现的只是:
不再是计算器了,对吧? :-)
这是什么意思?
我试图编译程序,但它失败了:
"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"
我做错了什么?
【问题讨论】:
-
你检查过他们的错误跟踪系统吗?对我来说,这听起来像是一个文档错误。
-
“我试图编译程序但它失败了” - 如何?
-
我试过了,它在 boost 1.69 和 1.75 之间的某个地方开始失败;这不是文档错误,而是可能由 Phoenix 或实用程序库的更改引入的错误。应该向上游报告。