首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

stack.push()时出现std:bad_alloc错误

2013-04-22 
stack.push()时出现std::bad_alloc异常本帖最后由 gutar0000 于 2013-04-20 21:27:47 编辑前面一次或多次

stack.push()时出现std::bad_alloc异常
本帖最后由 gutar0000 于 2013-04-20 21:27:47 编辑 前面一次或多次能成功push,视输入情况而定。程序功能是解析表达式,我输入(a|b)*能正确解析,输入(a|b)*a时在处理stk_el.push(tep); //tep值是('b',-1,-1),(a|b)的处理应该是一样的,但第二个输入却抛出异常。


Operator tep=Operator(chr_regular,-1,-1);//Operator是结构体
this->stk_el.push(tep);//异常出现,前几次能成功


请大家指点,感谢! stack.push() std::bad_alloc
[解决办法]
代码上全,这么点看不出问题。
[解决办法]
可能內存分配失敗
[解决办法]
我之前遇到一次这种问题,好像是因为你的operator类没有实现模板栈需要的push_back的之类的,你可以自己定义一个栈,自己实现出栈,入栈的操作,然后就可以了
[解决办法]
http://blog.csdn.net/zlhy_/article/details/8518699

完整代码与分析链接,对比一下

热点排行