运行我的程序时出现此错误:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
我知道没有代码你就做不了多少但我认为这个错误在代码中太深了,无法复制所有代码。如果我明白这个错误意味着什么,也许我可以弄明白。 这是否是在错误的内存地址读取或写入问题的标志?
我可以采取哪些措施从我的程序中获取有关该问题的更多信息吗?
答案 0 :(得分:23)
这意味着您尝试创建一个大于std :: string :: max_size()的字符串。
http://msdn.microsoft.com/en-us/library/as4axahk(VS.80).aspx
类型length_error类的异常 当一个操作产生一个时抛出 长度大于的字符串 最大尺寸。
答案 1 :(得分:1)
我知道这是一个老问题,但我遇到了同样的问题。 使用Linux与gcc。
反汇编函数显示代码中有很多跳转,抛出异常,不应该存在。 最后,Clean Build为我解决了这个问题。
答案 2 :(得分:0)
使用VS2005时,这是调试模式下的错误。当我将其更改为发布模式时,一切正常。
嗯,vc调试运行时会导致这一切,这就是全部。