运行我的程序时,我遇到了这个错误:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
我知道没有代码你做不了太多事情,但我认为这个错误太深了,无法复制所有代码。如果我能理解这个错误的含义,也许我可以想出一个解决方法。这是一个关于在错误内存地址读写的问题吗?
有没有什么方法可以从我的程序中获取更多有关问题的信息呢?
运行我的程序时,我遇到了这个错误:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
我知道没有代码你做不了太多事情,但我认为这个错误太深了,无法复制所有代码。如果我能理解这个错误的含义,也许我可以想出一个解决方法。这是一个关于在错误内存地址读写的问题吗?
有没有什么方法可以从我的程序中获取更多有关问题的信息呢?
这意味着您尝试创建一个超过std::string::max_size()的字符串。
http://msdn.microsoft.com/en-us/library/as4axahk(VS.80).aspx
当操作生成长度大于最大大小的字符串时,将抛出length_error Class类型的异常。
我知道这是一个老问题,但我遇到了同样的问题。 使用带有gcc的Linux。
反汇编函数显示代码中有很多跳转,异常被抛出,这些跳转不应该存在。 最终,进行一次干净的构建解决了我的问题。
这是在VS2005的调试模式下出现的错误。当我将其改为发布模式时,一切都正常了。
嗯,这是由于vc调试运行时引起的,仅此而已。