所以,我想與建立成功,但運行失敗的堆棧
int x = 5;
mystack<int> st;
st.push(x);
運行下面的類不過,我不斷收到建立失敗,我似乎無法找出原因。
#ifndef MYSTACK_H
#define MYSTACK_H
#include <vector>
using namespace std;
template<typename T>
class mystack {
private:
vector<T> data;
int size = 0;
public:
void push(T const &);
};
template<typename T>
void mystack<T>::push(T const & elem) {
data[size] = elem;
size++;
}
運行失敗(退出值-1,073,741,819,總時間:1秒)
而且完全獨立的問題,我怎麼扔下溢?我試過
throw underflow_error();
您的標題與您的問題主體不符。您的問題主體缺少相關的錯誤消息(請逐字逐句)。 – Mat
標題說「構建成功」,問題表示「構建失敗」。這是什麼,錯誤狀態到底是什麼? – crashmstr
您想添加'data.resize(size + 1);'作爲'push'的第一行。運算符'[]'沒有邊界檢查 –