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