当我运行程序时,它将数字完美地推入数组。但是当它弹出它们,然后打印它们时,我得到了垃圾编号。问题是否与我的主要功能有关? 还是我在Stack类中没有正确初始化数组?刚开始我的构造函数遇到了一些问题,但是在进行了一些调整之后,它似乎仍然可以正常工作。
在运行脚本后为什么收到垃圾编号有什么特别之处?
谢谢
<ListGroup>
<TransitionGroup className="shopping-list">
{
}
</TransitionGroup>
</ListGroup>
答案 0 :(得分:3)
top
的构造函数后未设置 max
和MyStack
,您正在创建局部变量,并且成员不受影响:
int max = m; // local
list = new int[max];
int top = -1; // local
更改为
max = m;
list = new int[max];
top = -1;
答案 1 :(得分:2)
a
函数中从未使用参数peek()
:
int MyStack::peek(int &a) const
{
if (top > -1)
{
return(list[top]); // you return the value instead of assigning it to "a"
return 0; // unreachable by the way
}
return -1;
}