作者BattleRoyale (翔燄)
看板EE_DSnP
標題[問題] array的Gn
時間Fri May 16 12:00:40 2008
這是do3測出來發現的問題
指令依序為
adta -v 20
adta -v 20 (輸出error訊息)
adtd -d 20
adta -r 30
adtp
我的code輸出結果為
[ 0] = 16 [ 1] = 137 [ 2] = 165 [ 3] = 197 [ 4] = 228
[ 5] = 242 [ 6] = 283 [ 7] = 330 [ 8] = 350 [ 9] = 352
[ 10] = 400 [ 11] = 440 [ 12] = 477 [ 13] = 526 [ 14] = 588
[ 15] = 628 [ 16] = 657 [ 17] = 686 [ 18] = 687 [ 19] = 769
[ 20] = 798 [ 21] = 804 [ 22] = 807 [ 23] = 829 [ 24] = 880
[ 25] = 891 [ 26] = 893 [ 27] = 911 [ 28] = 919 [ 29] = 956
可是如果第二行不打
adta -v 20
adtd -d 20
adta -r 30
adtp
[ 0] = 16 [ 1] = 137 [ 2] = 165 [ 3] = 197 [ 4] = 228
[ 5] = 242 [ 6] = 283 [ 7] = 330 [ 8] = 350 [ 9] = 352
[ 10] = 394 [ 11] = 400 [ 12] = 440 [ 13] = 477 [ 14] = 526
[ 15] = 588 [ 16] = 628 [ 17] = 657 [ 18] = 686 [ 19] = 687
[ 20] = 769 [ 21] = 783 [ 22] = 804 [ 23] = 807 [ 24] = 829
[ 25] = 880 [ 26] = 891 [ 27] = 893 [ 28] = 919 [ 29] = 956
就會有些數字不一樣(ex:第10 11 etc...)
請問為什麼會造成這樣的狀況呢
在insert中我檢查如果x和_data中的資料相同的話就return false
執行時也會有has existed的訊息出現了
但不明瞭為什麼那個執行以後會造成random number的變化......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.235
推 ric2k1:應該是你有多呼叫 AdtTestObj 的 constructor... 05/16 17:39
→ ric2k1:可以用 cout 或 debugger 看一下. 不過不一樣就算了, 05/16 17:41
→ ric2k1:先把其他的做完比較要緊. 05/16 17:41
推 aemaeth:我跑的跟你一樣@@||| 05/18 00:20
→ aemaeth:歐..也有幾個不一樣Orz...||| 05/18 00:21