std::length_error

kevinhcj 2007-09-10 02:02:08
执行程序时出现:

Microsoft C++ exception: std::length_error at memory location 0x0012f650..

这是内存不足的问题,还是对数组长度操作出界?
...全文
1980 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kevinhcj 2007-09-11
  • 打赏
  • 举报
回复
原来是我在某个地方把下标和长度搞混了,导致长度定义小1。

kevinhcj 2007-09-10
  • 打赏
  • 举报
回复
谢谢,暂时发现远远没有超过上限,我在CHECK一下,是不是有负数什么的。
roadtang 2007-09-10
  • 打赏
  • 举报
回复
因为看不到你的代码, 具体得你自己check一下.

vector, string有一个max_size()函数, 是个上限
一般是假定string, vector有超过这个上限的大小, 做了操作才会length_error.
比如 是不是 basic_string(size, char) size太大, copy(pos,,..) pos传进了负数.等等

roadtang 2007-09-10
  • 打赏
  • 举报
回复

不是操作长度出界(out_of_range),也不是内存不足 (bad_alloc).

length_error这个异常只有在你要表示的字符串的长度过过长, 超出string内在所能表示的最大限制时才抛出.


kevinhcj 2007-09-10
  • 打赏
  • 举报
回复
没有
我用的vector,都是(long)double数据,感觉不可能,长度才1000左右
kevinhcj 2007-09-10
  • 打赏
  • 举报
回复
代码太长~
roadtang 2007-09-10
  • 打赏
  • 举报
回复

LZ,你往一个string里读了几M的字符?

kevinhcj 2007-09-10
  • 打赏
  • 举报
回复
运行中, 跳出警告Unhandled exception at 0x7c812a5b in MeshTest.exe: Microsoft C++ exception: std::length_error at memory location 0x0012f650..
星羽 2007-09-10
  • 打赏
  • 举报
回复
有相关代码吗,什么时候出现的提示,运行中吗
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2007-09-10 02:02
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下