【发布时间】:2009-07-26 04:07:43
【问题描述】:
在运行我的程序时出现此错误:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Abort trap
我知道没有代码你不能做很多事情,但我认为这个错误在代码中太深了,无法复制所有代码。如果我理解这个错误的含义,也许我可以弄清楚。 这是在错误的内存地址读取或写入问题的迹象吗?
我可以做些什么来从我的程序中获取有关问题的更多信息吗?
【问题讨论】:
-
你能在你访问字符串的地方贴一些代码吗?
-
字符串不是问题。经过一些小的更改并添加调试消息后,我得到了一个真正的段错误;)
-
除了凯文的回答:也许你做了一些会导致字符串长度为负的计算?因为字符串长度(通常)存储为无符号值,所以负值会导致非常大的正值,该正值大多大于 std::string::max_size()!
标签: c++ string runtime-error