为什么这样转就不行啊??
为什么这样转就不行啊??
interface IX : IUnknown
{
virtual void __stdcall fx() = 0;
};
class CA : public IX
{
public:
virtual HRESULT __stdcall QueryInterface(const IID& iid,void** ppv)
{
if(iid == IID_IUnknown)
{
*ppv = static_cast<IUnknown*>(this); //error:error C2594: 'type cast' : ambiguous conversions from 'class CA *const ' to 'struct IUnknown *'
*ppv = static_cast<IX*>(this); // ok
}
IX 不也是从 IUnknown派生的吗???