| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2396 人关注过本帖
标题:求高手关于【error C2143: 语法错误 : 缺少“)”(在“;”的前面)】错误的解 ...
只看楼主 加入收藏
bluecoyote
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-4-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求高手关于【error C2143: 语法错误 : 缺少“)”(在“;”的前面)】错误的解决办法
程序代码:
#include<cstdlib>
#include<iostream>
#include<string>
using namespace std;
#define    TRUE            1
#define    FALSE            0
#define    OK                1
#define    ERROR            0
#define    INFEASIBLE                -1
#define    OVERFLOW                -2
//Status 是函数的类型,其值是函数结果状态代码
typedef    int        Status;
#define    STACK_INIT_SIZE    100;
#define    STACKINCREMENT    10;
typedef    struct{
    int    *base;
    int    *top;
    int    stacksize;
}SqStack;
Status    InitStack(SqStack &S){
    S.base = (int *)malloc(STACK_INIT_SIZE *sizeof ( int ) );
    if(!S.base)    exit(OVERFLOW);
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
    return    OK;
}//Initstack
Status    DestroyStack(SqStack &S){                //Destroy是释放存储空间
    free(S.base);
    S.base=NULL;
    S.top=NULL;
    S.stacksize=0;
    return    OK;
}//DestroyStack
Status    ClearStack(SqStack &S){                    //Clear是将栈置空
    S.top=S.base;
    return    OK;
}//ClearStack
Status    StackEmpty(SqStack S){
    if(S.base==S.top)    return    TRUE;
    return    FALSE;
}//StackEmpty
int    StackLength(SqStack S){
    return    S.top-S.base;
}//StackLength
Status    GetTop(SqStack S,int &e){
    if(S.top==S.base)    return    ERROR;
    e=*(S.top-1);
    return    OK;
}//GetTop
Status    Push(SqStack &S,int e){                     //插入e为栈顶元素
    if(S.top-S.base>=S.stacksize){
        S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
        if(!S.base)    exit(OVERFLOW);
        S.top=S.base+S.stacksize;
        S.stacksize+=STACKINCREMENT;
    }
    *S.top++=e;
    return    OK;
}//Push
Status    Pop(SqStack &S,int e){
    if(S.top==S.base)    return    ERROR;
    e=*--S.top;
    return    OK;
}//Pop
Status    StackTraverse(SqStack S,Status (*visit)()){
}//StackTraverse
int    main(){
    SqStack    S;
    int    a;
    InitStack(S);
    Push(S,8);
    GetTop(S,a);
    cout<<a<<endl;
    cout<<S.stacksize<<endl;
    cout<<StackLength(S)<<endl;
    getchar();
    return    0;
}
【【

\栈与队列\栈.cpp(20) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
\栈与队列\栈.cpp(20) : error C2100: 非法的间接寻址
\栈与队列\栈.cpp(20) : error C2059: 语法错误 : “)”
\栈与队列\栈.cpp(51) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
\栈与队列\栈.cpp(51) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
\栈与队列\栈.cpp(51) : error C2059: 语法错误 : “)”
\栈与队列\栈.cpp(51) : error C2100: 非法的间接寻址
\栈与队列\栈.cpp(51) : error C2059: 语法错误 : “)”

】】
今天写了一点关于栈的代码,用vs2008编译时出现了这些个错误,很闹心。我在百度上看了很多解决办法,仍然解决不了,就拉出来让大家看看,希望高手给解决一下,不胜感激~~~
搜索更多相关主题的帖子: 语法 办法 
2010-04-24 22:17
bluecoyote
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-4-5
收藏
得分:0 
先顶以下~~

策杖只为图雪耻,横戈原不为封侯
2010-04-24 22:17
jmjy
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:44
专家分:146
注 册:2010-1-7
收藏
得分:20 
#define    STACK_INIT_SIZE    100;
#define    STACKINCREMENT    10;
看你的宏。。。
宏不要加分号,不然展开后就多了个分号了。。不要以为可要可不要哈。。
2010-04-24 23:04
bluecoyote
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-4-5
收藏
得分:0 
回复 3楼 jmjy
多谢了,是那个问题,我太粗心了,太谢谢你了~~

策杖只为图雪耻,横戈原不为封侯
2010-04-24 23:25
快速回复:求高手关于【error C2143: 语法错误 : 缺少“)”(在“;”的前面)】错误 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015129 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved