我正在使用通过自制软件安装的boost并添加'usr / local / include'来搜索标头路径,并使用'usr / local / lib'来搜索库路径。它包括在内但编译时出现以下错误:
/usr/local/include/boost/move/unique_ptr.hpp:549:16: Unknown type name 'BOOST_RV_REF_BEG_IF_CXX11'
/usr/local/include/boost/move/unique_ptr.hpp:549:42: 'unique_ptr' cannot be the name of a parameter
/usr/local/include/boost/move/unique_ptr.hpp:549:59: Expected ')'
/usr/local/include/boost/move/unique_ptr.hpp:552:16: Use of undeclared identifier 'u'
这些是加强代码中的违规行:
template <class U, class E>
unique_ptr( BOOST_RV_REF_BEG_IF_CXX11 unique_ptr<U, E> BOOST_RV_REF_END_IF_CXX11 u
BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_moveconv_constr<T BOOST_MOVE_I D BOOST_MOVE_I U BOOST_MOVE_I E>::type* =0)
) BOOST_NOEXCEPT
: m_data(u.release(), ::boost::move_if_not_lvalue_reference<E>(u.get_deleter()))
{
//If T is not an array type, U derives from T
//it uses the default deleter and T has no virtual destructor, then you have a problem
BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
<D, typename unique_ptr<U, E>::pointer>::value ));
}