运行程序时,我会收到此错误:

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调试运行时导致了这一点,仅此而已。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top