错误:在'stackEmpty'之前预期'=',',',';','asm'或'__attribute__'

时间:2011-06-12 22:02:35

标签: c compiler-errors

此代码用于在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: 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 OS上运行。我在stack.h中导入了Client.c,所有其他代码都编译好了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:11)

嗯,与C ++不同, bool不是C 中的有效类型(当然,除非使用stdbool.h)。我在C:

中看到bool使用了这种方式
typedef enum { false, true } bool;