我在C头文件中有以下结构。
typedef struct GSPathInfo {
unsigned char pathIndex; // 0x0 = 0x5C
unsigned char pathIdentity; // 0x1 = 0x5D
unsigned char pathProximity; // 0x2 = 0x5E
CGFloat pathPressure; // 0x4 = 0x60
CGFloat pathMajorRadius; // 0x8 = 0x64
CGPoint pathLocation; // 0xC = 0x68
GSWindowRef pathWindow; // 0x14 = 0x70
} GSPathInfo; // sizeof = 0x18.
在目标C(.mm)文件中,我正在执行以下操作:
-(void)GettingFingerSizeInfo {
CGFloat pressure = GSPathInfo.pathPressure
}
Xcode抱怨:预期的标识符或(
答案 0 :(得分:1)
您是否在.mm文件的顶部包含.h文件?
更重要的是,在 pathPressure之后在该函数中添加分号。
e.g。
-(void)GettingFingerSizeInfo {
CGFloat pressure = GSPathInfo.pathPressure;
}
最后,只是一个建议......目标C中的最佳(或标准)实践是使用小写字母开始方法名称。因此,请将其声明为“GettingFingerSizeInfo
”。而不是“gettingFingerSizeInfo
”。
答案 1 :(得分:1)
问题是您没有创建任何地方来保存GSPathInfo结构的信息并在其字段中设置值。你需要一个变量来保存结构。
e.g。
GSPathInfo pathinfo = malloc(sizeof(GSPathInfo));
pathinfo.pathPressure = 1.0f;
...
CGFloat pressure = pathinfo.pathPressure;
另请注意.mm文件适用于Objective C ++,。m适用于Objective C