2012-04-17 3 views
0

Possible Duplicate:
“expected ':', ',', ';', '}' or 'attribute' before '{' token” in Struct member functionКак вы скомпилируете структуры с функциями-членами с Android NDK?

Im компилирует библиотеку C++ с android ndk-build. Я получаю ошибки компиляции, когда код имеет структуру с определенной в ней функцией-членом. Этот код компилируется вместе с другими компиляторами.

Пример кода:

typedef struct 
{ 
    boolean current; 
    int a; 
    boolean IsCurrent() const 
    { 
     return current; 
    } 
} sampleStruct; 

Ошибка я получаю - "ошибка: ожидается, ':', ' ' ';', '}' или' атрибут ' перед 'Const' " если я избавиться от сопзЬ, ошибка - " ошибка: ожидается, ':', ' ' ';', '}' или' атрибут' перед '{' лексема»

+0

Какой компилятор C++ вы используете? –

+0

boolean, вероятно, должно быть bool !! – Stowelly

ответ

1

Предложения :

  1. Замените boolean на bool, потому что это C++ 'boolean-type.
  2. Убедитесь, что вы не компилируете компилятор C.

Рекомендация по стилю: Обратите внимание, что typedef struct { ... } name; является устаревшей практикой в ​​C++. Просто напишите struct name { ... };, который позволяет писать конструкторы и деструктор.

+0

и PLS не забывают окончательный ';' после закрытия фигурной скобки '}'. – hochl

+0

@hochl: Ой, спасибо. Я думаю, что это корни в моем смешивании английского и C++, где я опустил ';', потому что это не конец полного выражения: P –

+0

Надеюсь, вы не против, чтобы я вставлял отсутствующий «...» ;) – hochl