这个让我疯了!我有一个结构:
typedef struct{
int a;
}myStruct;
然后我有:
myStruct tempStruct;
我试图将结构传递给一个类方法,其实现是:
- (void) myFunc:(struct myStruct)oneOfMyStructs{};
我这样称呼方法:
[myClass myFunc:(struct myStruct)tempStruct];
编译器抱怨“转换为请求的非标量类型”。我想要做的就是将结构传递给类方法,但语法让我有点困惑。我是Objective-C的新手。如果你能看到我出错的地方,请告诉我。我也无法通过引用传递,所以如果你可以帮助我,那就太棒了!
谢谢!
答案 0 :(得分:3)
由于您typedef
将其编辑为myStruct
,因此您无需(实际上必须)在函数签名或调用中包含struct
关键字:< / p>
typedef struct tag_myStruct
{
int a;
}
myStruct;
- (void) myFunc:(myStruct) x {}
[myClass myFunc:tmpStruct];
应该足够了。 (比较所有那些采用NSRect
s之类的Cocoa函数。)