Re: error C2594: 'static_cast' and Multiple Inheritance
"Barnab?" <eric.franc@gmail.com> wrote in message
news:1162281362.623827.74650@m73g2000cwd.googlegroups.com
class ATL_NO_VTABLE CTranslator :
public CComObjectRootEx<CComSingleThreadModel>,
.... };
The problem occures when I create a COM interface pointers.
CComPtr<CTranslator> moTranslations;
You are not supposed to do this. The template paramater of CComPtr is
supposed to be an interface pointer, not your implementation class. As
in CComPtr<ITranslator>.
error C2594: 'argument' : ambiguous conversions from 'CTranslator *'
to 'IUnknown *'
All classes implementing more than one interface would have this
problem, as they derive from IUnknown multiple times (once via each
implemented interface). This is normal. Using such a class as a paramter
to CComPtr is not.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925