标题:简单栈的操作
取消只看楼主
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
 问题点数:0 回复次数:3 
简单栈的操作
#include<iostream>
#include<conio.h>
using namespace std;
class Stack {
int *base,*top;
public:
void initstack(Stack s){
s.base=new int[10];
if(! s.base) exit(0);
s.top=s.base=0;
}
void push(Stack p,int n){
if(p.top-p.base>=10) cout<<"栈溢出!"<<endl;
else
{ *p.top++=n;
cout<<*(p.top--);}
}
void pop(Stack s){
if(s.top==s.base) cout<<"空栈"<<endl;
else {int e= * --s.top; cout<<"栈顶元素为:"<<e<<endl;}
}
};
int main()
{
Stack s;
s.initstack(s);
s.push(s,10);
s.push(s,12);
s.push(s,14);
s.pop(s);
getche();
}
内存不可读,是哪儿出了问题了,看了好办天没看出什么东西来,请大家帮忙~~
搜索更多相关主题的帖子: base Stack int void top 
2007-03-31 15:05
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
得分:0 
不是吧,我用的也是DEV C++啊,但我就不能,就是出现内存不能读的错误

2007-03-31 16:58
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
得分:0 
编译没得问题,就是一运行就出现内存不可读的问题,郁闷得很啊/////
我担心是不是我在建立空栈的时候分配内存地址的时候出了什么问题而导致内存不可读

2007-03-31 17:01
bill8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-3-10
得分:0 
谢谢大家了哈
我就觉得应该是我的内存空间没有处理好

2007-03-31 21:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-128340-1-1.html




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

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