[ 
https://issues.apache.org/activemq/browse/AMQCPP-176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43021#action_43021
 ] 

Albert Strasheim commented on AMQCPP-176:
-----------------------------------------

Here's an example of an error one typically sees when building with Visual 
Studio .NET 2003:

{noformat} 
InitDirector.cpp
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(81)
 : error C2511: 'decaf::lang::Throwable 
*activemq::connector::stomp::marshal::MarshalException::clone(void)' : 
overloaded member function not found in 
'activemq::connector::stomp::marshal::MarshalException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(30)
 : see declaration of 'activemq::connector::stomp::marshal::MarshalException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(81)
 : error C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::stomp::marshal::MarshalException::clone(void)' : 
overloaded member function not found in 
'activemq::connector::stomp::marshal::MarshalException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(30)
 : see declaration of 'activemq::connector::stomp::marshal::MarshalException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(81)
 : error C2511: 'decaf::lang::Throwable 
*activemq::connector::stomp::marshal::MarshalException::clone(void)' : 
overloaded member function not found in 
'activemq::connector::stomp::marshal::MarshalException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(30)
 : see declaration of 'activemq::connector::stomp::marshal::MarshalException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(81)
 : error C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::stomp::marshal::MarshalException::clone(void)' : 
overloaded member function not found in 
'activemq::connector::stomp::marshal::MarshalException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\marshal\MarshalException.h(30)
 : see declaration of 'activemq::connector::stomp::marshal::MarshalException'
..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(79) : error 
C2511: 'decaf::lang::Throwable 
*activemq::connector::ConnectorException::clone(void)' : overloaded member 
function not found in 'activemq::connector::ConnectorException'
        ..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(28) 
: see declaration of 'activemq::connector::ConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(79) : error 
C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::ConnectorException::clone(void)' : overloaded member 
function not found in 'activemq::connector::ConnectorException'
        ..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(28) 
: see declaration of 'activemq::connector::ConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(79) : error 
C2511: 'decaf::lang::Throwable 
*activemq::connector::ConnectorException::clone(void)' : overloaded member 
function not found in 'activemq::connector::ConnectorException'
        ..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(28) 
: see declaration of 'activemq::connector::ConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(79) : error 
C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::ConnectorException::clone(void)' : overloaded member 
function not found in 'activemq::connector::ConnectorException'
        ..\..\activemq-cpp\src\main\activemq\connector\ConnectorException.h(28) 
: see declaration of 'activemq::connector::ConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'decaf::lang::Throwable 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'activemq::connector::ConnectorException 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'decaf::lang::Throwable 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'activemq::exceptions::ActiveMQException 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(80)
 : error C2511: 'activemq::connector::ConnectorException 
*activemq::connector::stomp::StompConnectorException::clone(void)' : overloaded 
member function not found in 
'activemq::connector::stomp::StompConnectorException'
        
..\..\activemq-cpp\src\main\activemq\connector\stomp\StompConnectorException.h(29)
 : see declaration of 'activemq::connector::stomp::StompConnectorException'
{noformat} 

> Work around Visual Studio .NET 2003 covariant return issues
> -----------------------------------------------------------
>
>                 Key: AMQCPP-176
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-176
>             Project: ActiveMQ C++ Client
>          Issue Type: Wish
>            Reporter: Albert Strasheim
>            Assignee: Nathan Mittler
>
> It would be very useful if something could be done in the AMQCPP code to work 
> around the issues Visual Studio .NET 2003 has with having base classes with 
> virtual functions as covariant return types.
> These problems are alluded to here:
> http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=23760&SiteID=1
> Some ideas have been discussed here:
> http://www.nabble.com/Unable-to-comile-C%2B%2B-client-on-VC%2B%2B-2003-td14680479s2354.html
> but I'm hoping there might be a way to slightly restructure the AMQCPP code 
> instead of resorting to preprocessor directives.
> Any ideas I could try would be much appreciated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to