1

私は純粋なc++(純粋仮想関数を使用)に抽象クラスを持っていますが、それをObjective Cクラスに実装する必要がありますが、どうすればよいですか?

私が宣言した場合、

@interface MyClass : NSObject <MyOtherClass>

MyOtherClassでプロトコルが定義されていないことを示すエラーがスローされます

C ++クラスの定義:

class MyOtherClass
{
    virtual void myFunc() = 0;
};

前もって感謝します

4

1 に答える 1

1

プロトコルはObjective-Cの機能であり、C++ではありません。

MyClassは、そのプロトコルとして非Objective-cクラスを使用することはできません。

JeremyPが言ったように

そのヘッダーを含むすべてのファイルが、拡張子を.mmに変更するか、ファイルタイプを.mmに変更することにより、Objective-C++としてコンパイルされていることを確認してくださいsourcecode.cpp.objcpp

于 2013-01-28T15:59:24.230 に答える