![]() |
#2
rjsp2018-01-05 13:05
|

#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];
}
};
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;
}
#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,看不懂这个错误错在哪了。。。。