→ azureblaze:explored[x][y] xy超界或小於0? 04/14 00:37
可是在 debug mode 跑到 explored.size() 他就爆了
實在不知道為什麼 ...
→ linotwo:mazeSolve 裡不要用 else if 04/14 00:46
可是不加好像解不出來
※ 編輯: cory8249 來自: 140.114.201.20 (04/14 00:49)
→ linotwo:你可以試試看用單步執行的方式 debug 04/14 00:49
有 我從進入 mazeSolve 開始有設 breakpoint
然後 next line 慢慢看變數
然後我發現只要有存取 explored 就會爆炸
像是第 25 . 26 行 拿來測試的 他就爆了
實在不解
因為只是個 reference
明明在 main 測試都很正常 跑進 mazeSolve() 就會爆 ...
※ 編輯: cory8249 來自: 140.114.201.20 (04/14 00:52)
→ linotwo:那你可能需要先去了解整套的演算法,再來檢查你的程式碼 04/14 00:52
→ linotwo:是不是照著你的預期在運行 04/14 00:53
→ linotwo:使用的是哪個編譯器? 04/14 01:02
演算法想法應該沒太大問題
因為剛剛有跑出正確答案
把語法架構修正一下 就不知道爆在哪邊了
Compiler 是 MinGW with GCC 4.7.1
※ 編輯: cory8249 來自: 140.114.201.20 (04/14 01:11)
→ linotwo:應該是你的 if 跟 else 沒對到 04/14 01:19
→ linotwo:至於 explored 爆掉應該是 debugger 有 bug 04/14 01:20
後來全部參數重想重設一次 又可以正常了
大概是哪邊某個參數弄錯了
不好意思 打擾了 感謝各位幫忙
※ 編輯: cory8249 來自: 140.114.201.20 (04/14 02:25)