此C ++错误std :: length_error的含义是什么
-
19-09-2019 - |
题
运行程序时,我会收到此错误:
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类的例外。
其他提示
我知道这是一个古老的问题,但我只是遇到了同一问题。将Linux与GCC一起使用。
拆卸该功能在代码中显示了很多跳跃,其中抛出了例外,不应该在那里。最后,干净的建筑为我解决了问题。
这是使用VS2005的调试模式中的错误。当我将其更改为发布模式时,一切都可以。
好吧,VC调试运行时导致了这一点,仅此而已。
不隶属于 StackOverflow