Manuel Teira Paz escribió:
Hello.
During the compilation of the c++ client, I've hit an error I'm not able to figure out what could be the cause:

CC -g -m64 -DHAVE_CONFIG_H -I. -Igen -I./gen -DMODULE_DIR=\"/opt/qpid/lib/qpid/client\" -DCONF_FILE=\"/opt/qpid/etc/qpid/qpidc.conf\" -I/opt/qpid/include -library=stlport4 -mt -c qpid/client/SessionImpl.cpp -KPIC -DPIC -o qpid/client/.libs/libqpidclient_la-SessionImpl.o "qpid/client/SessionImpl.cpp", line 162: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 168: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 176: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 195: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 233: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 304: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 337: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 546: Warning: id hides qpid::client::SessionImpl::id. "qpid/client/SessionImpl.cpp", line 747: Error: Ambiguous "?:" expression, second operand of type "qpid::ClosedException*" and third operand of type "qpid::sys::ExceptionHolder" can be converted to one another. "qpid/client/SessionImpl.cpp", line 747: Error: Formal argument ex of type const qpid::sys::ExceptionHolder& in call to qpid::client::Demux::close(const qpid::sys::ExceptionHolder&) is being passed int.
2 Error(s) and 8 Warning(s) detected.


The 747th line stands:

demux.close(exceptionHolder.empty() ? new ClosedException() : exceptionHolder);


As a potential hint for somebody more experimented, this code compiles, and however is functionally similar to the one throwing the error:

struct A {};
struct B {
 B();
 template <class Ex> B(Ex *e);
};
void call(const B &b);
void foo(bool i)
{
 B b;
 call(i ? new A() : b);
}


If I'm not misunderstood, it complains about new ClosedException() and exceptionHolder being equivalent or something so?

Any hint from the experienced C++ force ?

Regards.
--
Manuel.



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Reply via email to