-2

我在 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 抱怨:预期的标识符或 (

4

2 回答 2

1

您是否在 .mm 文件的顶部包含 .h 文件?

更重要的是, 在该函数中的 pathPressure之后放置一个分号。

例如

-(void)GettingFingerSizeInfo {
    CGFloat pressure =  GSPathInfo.pathPressure;
}

最后,只是一个建议……Objective C 中的最佳(或标准)实践是以小写字母开头的方法名称。因此,而不是“ GettingFingerSizeInfo”,将其声明为“ gettingFingerSizeInfo”。

于 2013-03-08T10:52:31.493 回答
1

问题是您没有创建任何地方来保存 GSPathInfo 结构的信息并在其字段中设置值。您需要一个变量来保存结构。

例如

GSPathInfo pathinfo = malloc(sizeof(GSPathInfo));
pathinfo.pathPressure = 1.0f;

...

CGFloat pressure =  pathinfo.pathPressure;

另请注意,.mm 文件用于 Objective C++,.m 用于 Objective C

于 2013-03-08T10:58:32.300 回答