| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1212 人关注过本帖
标题:想弄个头文件,但老是出错。
取消只看楼主 加入收藏
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:3 
想弄个头文件,但老是出错。
头文件:
程序代码:
#include<vector>
class Stack{
    vector<int> s;
public:
    int StackEmpty(){
        return (s.empty()==1 ? 1 : 0);
    }
    void StackPush(int element){
    s.push_back(element);
    }
    int StackPop(){
        if(!s.empty()) { int x=s[s.size()-1];s.pop_back(); return x;}
        else cout<<"#the stack is empty#"<<endl;
    }
    int StackTop(){
        if(s.empty()) cout<<"the stack is empty"<<endl;
        else return s[s.size()-1];
    }
};

主函数:
程序代码:
#include"Stack.h"
#include<iostream>
using namespace std;
int main()
{
    Stack a;
    for(int x;cin>>x;)
    {
        a.StackPush(x);
        if(cin.get()=='\n') break;
    }
    cout<<a.StackEmpty();
    return 0;
}

错误:
e:\练习题\栈\stack.h(4) : error C2143: syntax error : missing ';' before '<'
e:\练习题\栈\stack.h(4) : error C2501: 'vector' : missing storage-class or type specifiers
e:\练习题\栈\stack.h(4) : error C2059: syntax error : '<'
e:\练习题\栈\stack.h(4) : error C2238: unexpected token(s) preceding ';'
执行 cl.exe 时出错.
vc6,看不懂这个错误错在哪了。。。。
搜索更多相关主题的帖子: 头文件 stack int return 练习题 
2018-01-05 12:55
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
收藏
得分:0 
回复 2楼 rjsp
还是不行啊,,还有,真的那么糟糕吗。。。。
2018-01-05 15:16
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
收藏
得分:0 
回复 4楼 rjsp
实在抱歉,光想着不行。。。
程序代码:
#include<iostream>
#include<vector>
class Stack{
    std::vector <int> s;
public:
    int StackEmpty(){
        return (s.empty()==1 ? 1 : 0);
    }
    void StackPush(const int &element){
        s.push_back(element);
    }
    int StackPop(){
        if(!s.empty()) { int x=s[s.size()-1];s.pop_back(); return x;}
        else return -1;
    }
    int StackTop(){
        if(s.empty()) return -1;
        else return s[s.size()-1];
    }
};

e:\练习题\栈\stack.h(13) : error C2679: binary '[' : no operator defined which takes a right-hand operand of type 'int *' (or there is no acceptable conversion)
执行 cl.exe 时出错.
2018-01-06 09:15
moox
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:92
专家分:93
注 册:2017-1-21
收藏
得分:0 
程序代码:
#ifndef STACK_H
#define STACK_H

#include<vector>
class Stack{
    std::vector <int> s;
public:
    int StackEmpty(){
        return (s.empty()==1 ? 1 : 0);
    }
    void StackPush(const int &element){
        s.push_back(element);
    }
    int StackPop(){
        if(!s.empty()) { int x=s[s.size()-1]; s.pop_back(); return x;}
        else return -1;
    }
    int StackTop(){
        if(s.empty()) return -1;
        else return s[s.size()-1];
    }
};
#endif
2018-01-06 14:01
快速回复:想弄个头文件,但老是出错。
数据加载中...
 
   



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

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