我目前正在尝试使以下非常简单boost::phoenix::lambda
的编译:
#include <iostream>
#include <boost/phoenix/scope.hpp>
int main() {
boost::phoenix::lambda[std::cout << "Lambda!!"]();
}
但是,这会产生大量错误(此处无法发布),对我来说没有任何意义。以下是编译器输出的摘录:
error: 'std::ios_base::ios_base(const std::ios_base&)' is private
within this context
error: initializer for
'boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,
boost::proto::argsns_::term<boost::phoenix::vector0<> >, 0l>::proto_child0
{aka boost::phoenix::vector0<>}' must be brace-enclosed
我在带有 Boost 1.53.0 的 Windows XP 上使用 MinGW 4.7.2 编译这些。我究竟做错了什么?