You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Andrew Stitcher (JIRA)" <ji...@apache.org> on 2016/03/17 16:03:33 UTC

[jira] [Resolved] (QPID-7147) When compiling with C++11/14 bind() use gets found as std::bind()

     [ https://issues.apache.org/jira/browse/QPID-7147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Stitcher resolved QPID-7147.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: qpid-cpp-next

> When compiling with C++11/14 bind() use gets found as std::bind()
> -----------------------------------------------------------------
>
>                 Key: QPID-7147
>                 URL: https://issues.apache.org/jira/browse/QPID-7147
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>             Fix For: qpid-cpp-next
>
>
> This is a poor naming issue that wasn't a problem before.
> In qpid/messaging/amqp/AddressHelper.cpp there are a number of anonymous functions called bind() which take std::string as one of their argument types. Additionally the include chain indirectly includes <functional>.
> Because of C\+\+ argument dependent lookup the compiler is finding/using std::bind in preference to the locally declared bind. This is only an issue when compiling with C\+\+11/14 because std::bind did not exist before.
> This issue might have gone undetected except that the compiler noted that one of the overloads of the local bind() was unused.
> A most pernicious problem and hard to detect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org