进程以状态-1073741510终止(使用C ++中的向量的堆栈实现)

时间:2019-11-14 21:52:45

标签: c++

我正在尝试使用向量实现堆栈,并且在代码中遇到了奇怪的错误。 它也不会让我打印其他任何东西。如果我在其后添加另一个cout语句,则命令提示符窗口将打开,但不会显示任何错误。我不确定我的代码有什么问题。

Main.cpp

#include <iostream>
#include <string>
#include <cstring>
#include <cctype>
#include <vector>
#include "Stack.h"

using std::cout;
using std::endl;
using std::string;
using std::vector;

int main(){
    Stack a;
    a.push(2);
    a.push(100);
    a.printStack();

}

stack.h的头文件

#ifndef STACK_H
#define STACK_H
#include <vector>

using std::vector;
class Stack
{
    vector<int> myStack;
    int top = 0;

    public:
        void push(int x);
        int pop();
        bool isEmpty();
        int length();
        void printStack();
};

#endif // STACK_H

用于功能实现的Stack.cpp文件

#include "Stack.h"
#include <vector>
#include <iostream>

using std::cout;
using std::endl;
using std::vector;


void Stack::push(int x){
    myStack[top] = x;
    top++;
}
int Stack::pop(){
    int r = myStack[top];
    myStack[top] = 0;
        top--;
    return r;
}
bool Stack::isEmpty(){
    return top== 0;
}
int Stack::length(){
    return top;
}
void Stack::printStack(){
    for(int x : myStack)
        cout << x << endl;
}

0 个答案:

没有答案