【问题标题】:'boost::detail::variant::visitation_impl': none of the 2 overloads could convert all the argument types'boost::detail::variant::visitation_impl': 2 个重载都不能转换所有参数类型
【发布时间】:2016-08-10 07:20:50
【问题描述】:

我无法使用 Boost 库 1.61.0 和 Visual Studio 2015 Update 3 构建我的两个项目。

多年来,这些项目使用 Visual Studio 和 Boost 版本的各种组合构建良好,除了更新 Visual Studio 和 Boost 库外,我没有更改代码中的任何内容。

我在这两个项目中遇到的错误是:

'boost::detail::variant::visitation_impl': none of the 2 overloads could convert all the argument types

在这两个项目中,我都没有直接从我的代码中使用 boost::variant。在一种情况下,它看起来像是从 boost::signals2 使用 boost::variant (我也没有直接从我的代码中使用它),而在另一种情况下,它看起来像是从 Cpp-Netlib 使用 boost::variant 0.11.2.

以下是这两个项目输出日志的相关部分:


1>d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(267): error C2665: 'boost::detail::variant::visitation_impl': none of the 2 overloads could convert all the argument types
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(201): note: could be 'void boost::detail::variant::visitation_impl<next_which,next_step,Visitor,VoidPtrCV,NoBackupFlag>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)'
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer,
1>              VoidPtrCV=void *,
1>              NoBackupFlag=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              Which=next_which,
1>              step0=next_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(183): note: or       'void boost::detail::variant::visitation_impl<next_which,next_step,Visitor,VoidPtrCV,NoBackupFlag>(int,int,Visitor &,VPCV,boost::mpl::true_,NBF,W *,S *)'
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer,
1>              VoidPtrCV=void *,
1>              NoBackupFlag=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              VPCV=void *,
1>              NBF=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              W=next_which,
1>              S=next_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(267): note: while trying to match the argument list '(const int, const int, boost::detail::variant::destroyer, void *, is_apply_visitor_unrolled, boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_, next_which *, next_step *)'
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2326): note: see reference to function template instantiation 'void boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer,
1>              VoidPtrCV=void *,
1>              NoBackupFlag=boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              Which=first_which,
1>              step0=first_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2337): note: see reference to function template instantiation 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer,
1>              VoidPtrCV=void *
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2335): note: see reference to function template instantiation 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer,
1>              VoidPtrCV=void *
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1345): note: see reference to function template instantiation 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1345): note: see reference to function template instantiation 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::destroyer
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1343): note: while compiling class template member function 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::destroy_content(void) noexcept'
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1352): note: see reference to function template instantiation 'void boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::destroy_content(void) noexcept' being compiled
1>  d:\libraries\boost_1_61_0\boost\signals2\slot_base.hpp(47): note: see reference to class template instantiation 'boost::variant<boost::shared_ptr<void>,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>' being compiled

1>d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(267): error C2665: 'boost::detail::variant::visitation_impl': none of the 2 overloads could convert all the argument types
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(201): note: could be 'void boost::detail::variant::visitation_impl<next_which,next_step,Visitor,VoidPtrCV,NoBackupFlag>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)'
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into,
1>              VoidPtrCV=const void *,
1>              NoBackupFlag=boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              Which=next_which,
1>              step0=next_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(183): note: or       'void boost::detail::variant::visitation_impl<next_which,next_step,Visitor,VoidPtrCV,NoBackupFlag>(int,int,Visitor &,VPCV,boost::mpl::true_,NBF,W *,S *)'
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into,
1>              VoidPtrCV=const void *,
1>              NoBackupFlag=boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              VPCV=const void *,
1>              NBF=boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              W=next_which,
1>              S=next_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\detail\visitation_impl.hpp(267): note: while trying to match the argument list '(const int, const int, boost::detail::variant::copy_into, const void *, is_apply_visitor_unrolled, boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_, next_which *, next_step *)'
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2326): note: see reference to function template instantiation 'void boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into,
1>              VoidPtrCV=const void *,
1>              NoBackupFlag=boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::has_fallback_type_,
1>              Which=first_which,
1>              step0=first_step
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2348): note: see reference to function template instantiation 'void boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor_impl<Visitor,const void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into,
1>              VoidPtrCV=const void *
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(2346): note: see reference to function template instantiation 'void boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor_impl<Visitor,const void*>(int,int,Visitor &,VoidPtrCV)' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into,
1>              VoidPtrCV=const void *
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1746): note: see reference to function template instantiation 'void boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::copy_into>(Visitor &) const' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1746): note: see reference to function template instantiation 'void boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::copy_into>(Visitor &) const' being compiled
1>          with
1>          [
1>              Visitor=boost::detail::variant::copy_into
1>          ]
1>  d:\libraries\boost_1_61_0\boost\variant\variant.hpp(1742): note: while compiling class template member function 'boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::variant(const boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> &)'
1>  d:\libraries\cpp-netlib-0.11.2-final\build\install\include\boost\network\protocol\http\message\directives\status.hpp(36): note: see reference to function template instantiation 'boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>::variant(const boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_> &)' being compiled
1>  d:\libraries\cpp-netlib-0.11.2-final\build\install\include\boost\network\protocol\http\message\directives\status.hpp(29): note: see reference to class template instantiation 'boost::variant<uint16_t,boost::shared_future<uint16_t>,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_>' being compiled

这是 boost 库中的错误吗?

【问题讨论】:

  • 代码在哪里?应该可以用最多两个存根的类 IYAM 进行复制。也许您的意思是它只是在标头中,在这种情况下,包含这些标头的 MVCE/SSCCE 在哪里?
  • 对于这个错误的第二个实例(与cpp-netlib相关的那个),很容易重现:1)使用Visual Studio 2015 Update 3创建一个新的C++控制台项目2)添加包含cpp-netlib 0.11.2 和 boost 1.61.0 的目录 3) 在主源文件中添加 #include
  • 而且第一个错误实例更容易重现:1) 使用 Visual Studio 2015 Update 3 创建一个新的 C++ 控制台项目 2) 添加 boost 1.61.0 的包含目录 3) 在 main源文件添加#include
  • 两者都应该作为各自库的问题填写

标签: boost visual-studio-2015 boost-variant boost-signals2 cpp-netlib


【解决方案1】:

听起来您的 Boost 安装已损坏。您是否保留了多个版本的 Boost?有多个 Boost 1.61.0 和 Visual Studio 2015 update 3 在网络上成功协同工作的示例,though this one does say there are some issues with the new SFINAE feature

尝试删除旧的 Boost 安装并全新安装 Boost 1.61.0 from the Boost distribution

Visual Studio 也有可能在安装或更新期间损坏,但我发现此类问题较少。

【讨论】:

  • 你是对的!看起来我的 boost 安装已损坏!我下载并使用相同的设置再次构建它,现在错误消失了。奇怪....感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2015-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多