1

重複の可能性:
派生クラスと基本クラス間のポインターからポインターへの変換?
Derived**をBase**に、Derived*をBase*に変換する

私はintf+クラスを持っています

class IList
{
public:
    virtual IList** GetChildList()=0;
    virtual void SetChildList(IList**)=0;
    ~IList();
};

class CList:public IList
{
    CList** m_lst;
public:
    IList** GetChildList()=0;
    virtual void SetChildList(IList**);
//...
};

IList** CList::GetChildList()
{
    return m_lst;
}

GetChildListのMSVCで「'return':cannot convert from'CList ** **'to'IList**」というエラー2440が表示されるのはなぜですか。

事前に助けてくれてありがとう!

4

1 に答える 1

0

CList は IList から派生しているため、CList* を IList* に変換できます。ただし、CList** を IList** に変換することはできません。reinterpret_cast が必要です。

于 2012-08-09T05:38:45.213 に答える