数据结构c语言版中很多类c语言写的直接拷过来不好用,请各位高手指点指点
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S){
S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
为了调试我没写全部的,只写了这一个函数,然后编译就出问题了:
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(11) : error C2061: syntax error : identifier 'SElemType'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(12) : error C2143: syntax error : missing '{' before '*'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(14) : error C2059: syntax error : '}'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2061: syntax error : identifier 'InitStack'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2059: syntax error : ';'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2143: syntax error : missing ')' before '&'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2143: syntax error : missing '{' before '&'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2059: syntax error : '&'
c:\program files\microsoft visual studio\myprojects\stack\stack_example.c(15) : error C2059: syntax error : ')'
执行 cl.exe 时出错.是不是因为其中有些是用c++导致的?
[解决办法]
一个函数当然不能编译,SElemType的定义呢?
[解决办法]
SElemType只是伪代码。。只写个大概的意思。。
具体实现要你自己来写。。
[解决办法]
那个结构体是一个模块,你要在文件中适当的宏定义SElemType。
[解决办法]
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S){
S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
是严蔚敏的教材吧,呵呵,初学者最好不要用这本,
兄弟推荐陈锐老师的《零基础学数据结构》,机械工业,很火的,全部源码,实现