为什么我的程序在遇到赋值语句为指针赋值时会崩溃?

时间:2018-04-23 14:15:43

标签: c++

这是我的堆栈实现, 我想制作" *遍历"空指针。一旦遇到所述目的的赋值语句,程序就会崩溃。

int main() {
    ......
    STACK s(choice);
    ......
}

这里是头文件声明,

class STACK
{
    public:
        STACK();
        STACK(int);
        ~STACK();
        void push(int);
        int pop();
        int glance();

    protected:

    private:
        int height;
        int *base;
        int *traverser;


};
//Below is the Constructor Declaration in the .cpp file
STACK::STACK(int userIN)
{
    height = userIN;
    int *base = new int[height];
    *traverser = NULL; //Crashes over here
}

1 个答案:

答案 0 :(得分:2)

您并未尝试制作traverser NULL,而是在尝试设定traverser NULL指向的值。删除traverser前面的星号可能会解决您的问题,但如果没有您提供有关traverser实际类型的信息,则无法确定。