此代码用于在C中实现通用堆栈功能。
Code for stack.h
-------------
typedef struct{
void *elements;
int elementSize;
int logofElementsLength;
int allocatedLength;
}stack;
bool stackEmpty(const stack *s);
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
,所有其他代码都编译好了。任何帮助将不胜感激。
答案 0 :(得分:11)
嗯,与C ++不同, bool
不是C 中的有效类型(当然,除非使用stdbool.h
)。我在C:
bool
使用了这种方式
typedef enum { false, true } bool;