-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.

Objective 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はObjectiveC用であることに注意してください。

于 2013-03-08T10:58:32.300 に答える