在一开始必须加#include "stdafx.h"

解决方案 »

  1.   

    里面的问题有
    1.至少1和l没有正确,这个可能是写的问题
    2.IY* pIY =(IY*)pA出需要类型转换
    下面是通过的源代码
    # include <iostream.h>
    # include <objbase.h>
    void trace(const char* pMsg)
    {cout<<pMsg<<endl;}
    interface IX
    { virtual void __stdcall Fx1()=0;
      virtual void __stdcall Fx2()=0;
    };
    interface IY
    { virtual void __stdcall Fy1()=0;
      virtual void __stdcall Fy2()=0;
    };
    class CA: public IX,IY
    {
      virtual void __stdcall Fx1()
    {
    cout << "CA::Fx1"<<endl;

    virtual void __stdcall Fx2()
    {
    cout << "CA::Fx2"<<endl;

    virtual void __stdcall Fy1()
    {
    cout << "CA::Fy1"<<endl;

    virtual void __stdcall Fy2()
    {
    cout << "CA::Fy2"<<endl;

    };
    int main()
    {
    CA* pA = new CA();
    IX* pIX =pA;
    pIX ->Fx1();
    pIX ->Fx2();
    IY* pIY =(IY*)pA;
    pIY ->Fy1();
    pIY->Fy2();
    delete pA;
    return 0;
    }
      

  2.   

    有点象 inside com里的例子啊。