3

これは私を怒らせています!私は構造体を持っています:

typedef struct{
  int a;
}myStruct;

で、〜がある:

myStruct tempStruct;

実装が次のクラスメソッドに構造体を渡そうとしています。

- (void) myFunc:(struct myStruct)oneOfMyStructs{};

私はそのようにメソッドを呼び出します:

[myClass myFunc:(struct myStruct)tempStruct];

コンパイラは、「要求された非スカラー型への変換」について文句を言います。構造体をクラスメソッドに渡すだけですが、構文が少し混乱しています。私はObjective-Cを初めて使用します。私がどこで間違っているのかわかるかどうか教えてください。私も参考になりませんでしたので、手伝って頂ければ幸いです!

ありがとう!

4

1 に答える 1

3

typedef-edを実行したので、関数のシグネチャまたは呼び出しにキーワードをmyStruct含める必要はありません(実際には含めないでください) 。struct

typedef struct tag_myStruct
{
    int a;
}
myStruct;

- (void) myFunc:(myStruct) x {}

[myClass myFunc:tmpStruct];

十分なはずです。(sのようなものをとるすべてのCocoa関数を比較してくださいNSRect。)

于 2010-05-01T22:50:37.550 に答える