0

次のような構成のcppヘッダーファイルがあります。

typedef class MyType_t {

//...

public:
    void    method();

} MyType;

私は次のような.mmファイルからそれを使用しようとしています:

MyType.method();

そして、これはコンパイラエラー「不明なタイプ名'MyType';あなたは'MyType_t'を意味しましたか?」を引き起こします。

コンパイラは「MyType_t」を理解できるようですが、「MyType」はサポートされていないようです。私は非常に基本的なC++しか知らず、この構成が何のためにあるのか正確にはわかりません。このコードをダウンロードしたばかりで、Objective-cから呼び出す必要があります。

4

2 に答える 2

5

どちらも機能しないはずです。

もしかして:

class MyType_t {

//...

public:
    void    method();

} MyType;

は、 と同一とtypedef呼ばれる新しい型を宣言します。上記の構文は、 type の変数を宣言します。MyTypeMyType_tMyTypeMyType_t

于 2012-09-11T20:56:33.597 に答える
0

問題は、使用する前にコンストラクターを呼び出していなかったことですMyType

だからこれを追加する

MyType MyType_t(parameter);

それを解決しました。

于 2012-09-11T21:32:36.877 に答える