这个C++ Error std :: length_error是什么意思

Jan*_*usz 21 c++ string runtime-error

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

terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_S_create
Abort trap
Run Code Online (Sandbox Code Playgroud)

我知道没有代码你就做不了多少但我认为这个错误在代码中太深了,无法复制所有代码.如果我明白这个错误意味着什么,也许我可以弄明白.这是在错误的内存地址读取或写入问题的标志吗?

我可以做些什么来从我的程序中获取有关该问题的更多信息?

Kev*_*yon 24

这意味着您尝试创建一个大于std :: string :: max_size()的字符串.

http://msdn.microsoft.com/en-us/library/as4axahk(VS.80).aspx

类型length_error类的异常当操作生成长度大于最大大小的字符串时,抛出类.

  • 您可以通过尝试创建大小为-1的字符串来意外地创建此情况.字符串大小是无符号的,因此-1实际上是最大可能的无符号整数. (14认同)
  • 这还意味着我的字符串不再在内存中了,我正在从内存中读取随机垃圾,直到字符串太大了? (2认同)