0
C++ 下面是引發錯誤我的代碼的部分:爲什麼在嘗試推送向量時會出現std :: bad_alloc錯誤?
IDlist->push_back(lex->getCurrentToken());
IDList表是這樣定義的向量:
std::vector<Token*>* IDlist;
爲什麼不能說的代碼行推我的令牌對象?謝謝。
編輯:
當我試試這個:
Token* t = lex->getCurrentToken();
IDlist->push_back(t);
我得到同樣的錯誤;當嘗試向矢量推入時會發生這種情況。
lex-> getCurrentToken()返回指針?以及爲什麼IDlist需要指針?你有新的IDlist嗎? – billz 2013-02-14 02:03:37
也許矢量需要調整大小,但不能分配足夠的內存? – James 2013-02-14 02:03:39
你的代碼看起來不錯。嘗試調用'getCurrentToken()'而不將其推送到向量以查看錯誤是從哪裏來的。 – ApproachingDarknessFish 2013-02-14 02:06:36