作者Komemushisp (...)
看板EE_DSnP
标题[问题] adtd -r 1000
时间Tue Nov 29 20:50:17 2011
用tests里的do2测bst时,
有一个是adtd -r 1000,
跑到这会记忆体区段错误,
用gdb看了一下,
原因好像是erase(getPos(pos))中的里的 T& x 没有东西,
所以没办法比较,无法删除,
但random产生出的东西应该里面的data不会没有东西吧 ???
还是我哪里写错了呢 QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.252.211
1F:→ e124553423:iterator没写好? 11/29 20:52
2F:→ e124553423:如果pos>node数 getPos会return end() 11/29 20:53
3F:→ e124553423:可以在删东西的时候判断是不是end(),是就直接跳出 11/29 20:55
4F:→ Komemushisp:我iterator只有超出范围时才回会传0 11/29 20:55
※ 编辑: Komemushisp 来自: 140.112.252.211 (11/29 21:00)
5F:→ Komemushisp:好像没跑到RANDOM_ACCESS里面... 该如何改呢? 11/29 21:05
6F:→ e124553423:random access是给array用的吧? 11/29 21:10
7F:→ e124553423:就算不跑random access pos超过node数之後 11/29 21:11
8F:→ e124553423:iterator还是会被加到end()才对 11/29 21:11