ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед 'stackEmpty' - PullRequest
1 голос
/ 13 июня 2011

Этот код предназначен для реализации универсальной функциональности стека в C.

Code for stack.h
-------------

    typedef struct{
    void *elements;
    int elementSize;
    int logofElementsLength;
    int allocatedLength;

}stack;

bool stackEmpty(const stack *s);

код для реализации в Client.c

bool stackEmpty(const stack *s)
{return (s->logLength==0);
}

Error

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'stackEmpty'

Комментарии

Код компилируется иначе, и я получаю только ошибку в этой строке. Очевидно, ошибка должна исходить из этой строки кода. Я использую

gcc -O0 -g3 -Wall -arch i386 -c -fmessage-length=0 -MMD -MP -MF"Client.d" -MT"Client.d" -o"Client.o" "../Client.c"

для компиляции.

Я работаю на ОС MAC Snow Leopard. Я импортировал stack.h в мой Client.c, а весь другой код компилируется и работает нормально. Любая помощь будет оценена.

1 Ответ

11 голосов
/ 13 июня 2011

Ну, в отличие от C ++, bool не является допустимым типом в C (если, конечно, не используется stdbool.h).Я видел, как bool использовал этот способ в C:

typedef enum { false, true } bool;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...