写数据结构(stack)时编译报错
例如:stack.h
- C/C++ code
#define def_stacksize 30#define StackElemType inttypedef struct { StackElemType *top; StackElemType *base; int stacksize;}Stack;int InitStack(Stack &s);stack.c:
- C/C++ code
int InitStack(Stack &s){ s.base=(StackElemType*)malloc(s.stacksize*sizeof(StackElemType)); s.top=s.base; s.stacksize=def_stacksize; return 1;}报错:
stack.h & stack.c 每一个函数都是:
error: expected ';', ',' or ')' before '&' token
------------------------------------------------------
代码够不?不够就全贴出来!
谢谢各位帮助!
[解决办法]
#include<stdlib.h>
#define def_stacksize 30
#define StackElemType int
typedef struct {
StackElemType *top;
StackElemType *base;
int stacksize;
}Stack;
int InitStack(Stack &s);
int InitStack(Stack &s)
{
s.base=(StackElemType*)malloc(s.stacksize*sizeof(StackElemType));
s.top=s.base;
s.stacksize=def_stacksize;
return 1;
}
表示编译无错。是不是;写出了中文下的;了。。。
[解决办法]
你包了头文件没有。 .c #include "stack.h" .h 可能也要包别的 如 #include <stdio.h> #include <stdlib.h>
[解决办法]
嗯嗯,那是c++的东西。