2015-08-12 5 views
0

Мне очень не нравится спрашивать об ошибках компиляции здесь, но этот был действительно прослушивает меня.ошибка компиляции, связанная с struct

Я следующий код:

struct rtModel_capacitor { 
    .... 
}; 
extern rtModel_capacitor *const capacitor_rtM; 

Это дает ошибку (для последней строки):

expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token 

Почему это не компилировать?

+3

'ехЬегп структура rtModel_capacitor * Const capacitor_rtM;'. – EOF

ответ

2

Различные пути решения проблемы:

struct rtModel_capacitor { 
    .... 
}; 
extern struct rtModel_capacitor *const capacitor_rtM; 

или

struct rtModel_capacitor { 
    .... 
}; 
typedef struct rtModel_capacitor rtModel_capacitor; 
extern rtModel_capacitor *const capacitor_rtM; 

или

typedef struct { 
    .... 
}rtModel_capacitor; 
extern rtModel_capacitor *const capacitor_rtM; 
+0

Это исправлено. Большое спасибо. –

+0

Похоже, вы пишете в более новом стиле, чем ваш компилятор. Вы проверили флаги компилятора, чтобы увидеть, можете ли вы выбрать разные диалекты и, возможно, скомпилировать более свежий синтаксис? Этот код не должен быть проблемой на C99 и выше. Я пробовал использовать gcc 4.8.4, и ваш код скомпилирован как следует. – tipaye

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