2013-03-08 2 views
-2

У меня есть следующие структуры в заголовочном файле CCompiler ошибка:. Ожидаемый идентификатор или (

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 жалуются: Ожидаемый идентификатор или (

ответ

1

Проблема заключается в том, что вы не создали нигде, чтобы хранить информацию для структуры GSPathInfo и устанавливать значения в своих полях. Для хранения структуры требуется переменная.

например.

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

... 

CGFloat pressure = pathinfo.pathPressure; 

Также обратите внимание that.mm файлы для Objective C++, .m предназначены для Objective C

+0

upvoting это как это лучший ответ. хороший поймать Марк. –

1

вы включая файл .h в верхней части файла .mm

? и, что более важно, положите точку с запятой после pathPressure в этой функции.

например.

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

наконец, просто предложение ... лучше всего (или стандарт) практика в Objective C, чтобы начать имена методов с прописной буквы. Поэтому вместо «GettingFingerSizeInfo» объявите его «gettingFingerSizeInfo».

Смежные вопросы