编辑回答评论和关闭问题:
实际上没有问题:该行使eclipse分析器显示“幽灵错误”,但g ++可以正确处理它。我之前在使用 boost 及其一些复杂的模板元编程结构时遇到了这个问题。
我没有注意到它,因为它与其他错误混合在一起。抱歉这个愚蠢的问题,谢谢你的帮助。
PS:请注意——不要在 10 小时编程后尝试解决这些问题
-- 编辑结束 --
我在 32 位 Ubuntu 12.04(Precise Pangolin)系统中安装了 boost 库(版本 1.52)。
我遵循了安装说明中的标准过程,包括执行“引导”脚本,然后调用 b2. 一切都很好:没有错误,也没有跳过目标。
我发现boost::assign::tuple_list_of
根据 g++ 的函数“无法解析”。我在以下行中使用它(可以安全地忽略受让人):
#include <vector>
#include "boost/assign/list_of.hpp"
std::vector<boost::tuple<int,int> > vec = boost::assign::tuple_list_of(0,0)(2,2)(4,0)(6,2);
我查看了文件 [include]boost/assign/list_of.hpp,对“tuple_list_of”的唯一引用在以下宏中:
#define BOOST_PP_LOCAL_MACRO(n) \
template< class U, BOOST_ASSIGN_PARAMS1(n) > \
inline assign_detail::generic_list< tuple<U, BOOST_ASSIGN_PARAMS4(n)> > \
tuple_list_of(U u, BOOST_ASSIGN_PARAMS2_NO_REF(n) ) \
{ \
return assign_detail::generic_list< tuple<U, BOOST_ASSIGN_PARAMS4(n)> >()( tuple<U,BOOST_ASSIGN_PARAMS4(n)>( u, BOOST_ASSIGN_PARAMS3(n) )); \
} \
关于这种行为的任何线索?我错过了一些“基本”步骤吗?