-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error C2672 'get_pointer': no matching overloaded function found #22
Comments
What is the code that fails? Is this a regression, that is, did this same code work with an earlier version of Boost? |
From a clean build this is the output, hopefully if gives you the information you are after? entry.cpp |
This doesn't really answer any of my questions, but I can now see what's the reason for the error - the placeholder |
Excellent, thank you, no more problem. |
Sorry, hate to tag on to another post but I get a similar error with boost 1.7.5. Here's my Visual Studio error train: Rebuild started... |
The cause of the error is the same: you're passing the standard _1 from namespace std::placeholders to boost::bind.
I suppose I need to just make this work. |
Thank you. I was trying to build some software we got from a 3rd party. I
got past the compile errors only to get into boost library linking issues.
There's some magic happening where Visual Studio knows the names of the
boost libraries (including boost version) without me telling it. I think I
will throw the project back over the wall and concede defeat.
…_____
From: Peter Dimov [mailto:notifications@github.com]
Sent: February 23, 2021 10:51 AM
To: boostorg/bind
Cc: SSStevePye; Comment
Subject: Re: [boostorg/bind] error C2672 'get_pointer': no matching
overloaded function found (#22)
The cause of the error is the same: you're passing the standard _1 from
namespace std::placeholders to boost::bind.
1>
_Fn=boost::_bi::bind_t<void,boost::_mfi::mf0<void,plasticity::fem::NodeStati
c>,boost::_bi::list1<boost::_bi::value<std::_Ph<1>>>>,
I suppose I need to just make this work.
-
You are receiving this because you commented.
Reply to this email directly, view it
<#22 (comment)> on
GitHub, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AGLVYHYCZP6WLJFGWD5YIR3TA
PTHVANCNFSM4PWOHLXQ> .
<https://github.com/notifications/beacon/AGLVYH2R7EBXZYDZXVOVRRLTAPTHVA5CNFS
M4PWOHLX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF3AMJSI
.gif>
|
The autolink magic is documented here: https://www.boost.org/doc/libs/1_75_0/libs/config/doc/html/boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.automatic_library_selection In particular, defining BOOST_ALL_NO_LIB disables it. |
Added support for using the standard placeholders in c85b31e. |
Sorry to bother you. @pdimov I encountered the same issue. In the past comment, you said can pass the standard _1 from namespace std::placeholders to boost::bind. Could you tell me where could I change Define namespace ? I tried to declare the namespace in bind.hpp, but it still showed the error. Thanks for your reading. OS : Windows 10 |
What code are you trying to compile, and what are the errors you are getting? |
I'm using Boost 1.73 the error is reported in:
c:\boost\boost_1_73_0\boost\bind\mem_fn_template.hpp(271): error C2672: 'get_pointer': no matching overloaded function found c:\boost\boost_1_73_0\boost\bind\mem_fn_template.hpp(286): note: see reference to function template instantiation 'R boost::_mfi::mf2<R,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>::call<U,const SystemObjectPtr,A2>(U &,const void *,B1 &,B2 &) const' being compiled with [ R=void, U=std::_Ph<1>, A2=ProcessControl::ProcessChange, B1=const SystemObjectPtr, B2=ProcessControl::ProcessChange ] c:\boost\boost_1_73_0\boost\bind\mem_fn_template.hpp(286): note: see reference to function template instantiation 'R boost::_mfi::mf2<R,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>::call<U,const SystemObjectPtr,A2>(U &,const void *,B1 &,B2 &) const' being compiled with [ R=void, U=std::_Ph<1>, A2=ProcessControl::ProcessChange, B1=const SystemObjectPtr, B2=ProcessControl::ProcessChange ] c:\boost\boost_1_73_0\boost\bind\bind.hpp(398): note: see reference to function template instantiation 'R boost::_mfi::mf2<R,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>::operator ()<T>(U &,A1,A2) const' being compiled with [ R=void, T=std::_Ph<1>, U=std::_Ph<1>, A1=SystemObjectPtrRef, A2=ProcessControl::ProcessChange ] c:\boost\boost_1_73_0\boost\bind\bind.hpp(398): note: see reference to function template instantiation 'R boost::_mfi::mf2<R,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>::operator ()<T>(U &,A1,A2) const' being compiled with [ R=void, T=std::_Ph<1>, U=std::_Ph<1>, A1=SystemObjectPtrRef, A2=ProcessControl::ProcessChange ] c:\boost\boost_1_73_0\boost\bind\bind.hpp(1306): note: see reference to function template instantiation 'void boost::_bi::list3<boost::_bi::value<T>,boost::_bi::value<boost::shared_ptr<ISystemObject>>,boost::_bi::value<ProcessControl::ProcessChange>>::operator ()<F,boost::_bi::rrlist1<A1>>(boost::_bi::type<void>,F &,A &,int)' being compiled with [ T=std::_Ph<1>, F=boost::_mfi::mf2<void,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>, A1=const boost::intrusive_ptr<IProcessChangeObserver> &, A=boost::_bi::rrlist1<const boost::intrusive_ptr<IProcessChangeObserver> &> ] c:\boost\boost_1_73_0\boost\bind\bind.hpp(1306): note: see reference to function template instantiation 'void boost::_bi::list3<boost::_bi::value<T>,boost::_bi::value<boost::shared_ptr<ISystemObject>>,boost::_bi::value<ProcessControl::ProcessChange>>::operator ()<F,boost::_bi::rrlist1<A1>>(boost::_bi::type<void>,F &,A &,int)' being compiled with [ T=std::_Ph<1>, F=boost::_mfi::mf2<void,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>, A1=const boost::intrusive_ptr<IProcessChangeObserver> &, A=boost::_bi::rrlist1<const boost::intrusive_ptr<IProcessChangeObserver> &> ] c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\algorithm(92): note: see reference to function template instantiation 'void boost::_bi::bind_t<void,boost::_mfi::mf2<void,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>,boost::_bi::list3<boost::_bi::value<T>,boost::_bi::value<boost::shared_ptr<ISystemObject>>,boost::_bi::value<ProcessControl::ProcessChange>>>::operator ()<const boost::intrusive_ptr<IProcessChangeObserver>&>(A1)' being compiled with [ T=std::_Ph<1>, A1=const boost::intrusive_ptr<IProcessChangeObserver> & ] c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\algorithm(92): note: see reference to function template instantiation 'void boost::_bi::bind_t<void,boost::_mfi::mf2<void,IProcessChangeObserver,SystemObjectPtrRef,ProcessControl::ProcessChange>,boost::_bi::list3<boost::_bi::value<T>,boost::_bi::value<boost::shared_ptr<ISystemObject>>,boost::_bi::value<ProcessControl::ProcessChange>>>::operator ()<const boost::intrusive_ptr<IProcessChangeObserver>&>(A1)' being compiled with [ T=std::_Ph<1>, A1=const boost::intrusive_ptr<IProcessChangeObserver> & ]
The text was updated successfully, but these errors were encountered: