作者ynnjk147 (Vince)
看板C_and_CPP
標題[問題] 重複使用物件的問題(已解決)
時間Sun Nov 13 16:04:04 2016
開發平台(Platform): (Ex: Win10, Linux, ...)
win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
C
問題(Question):
由於非本科生而且剛學c++不久,應該會有很多缺乏常識的程式碼在內>"<。
主要是以演算法筆記的騎士遞迴的C的code試圖改寫成c++版本的,但是一執行就當掉(停止運運作,回傳值很大)。問題應該主要是出在141行,一步一步檢查後發現current接了 get回傳的物件時會爆掉,另外因此另外用新物件去接,答案是正常的,不過只要進入 for迴圈更改到值後就會停止運作。
想請問會發生這種情形的原因是什麼?先謝謝各位大大…
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/zTs5LA
s
Sent from JPTT on my Sony E5353.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.8.190
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1479024246.A.003.html
推 thinkKing: 電腦當機? 11/13 16:26
1F:→ ynnjk147: 抱歉 等等更正一下內文 是程式會停止運作11/13 16:29
2F:→ pttworld: .和com之間多了一個空白字元的網址不正確。11/13 19:40
3F:→ pttworld: Knight's tour wiki,mxn都是奇數無解,3x3。11/13 22:12
4F:→ pttworld: 滿足條件不斷地不重複走都可以完成,奇怪的預儲存出路。 11/13 22:13
5F:→ ynnjk147: 謝謝ptt world大大,用3*3是因為以為跟陣列大小有問題,11/13 22:41
6F:→ ynnjk147: 不過後來自己發現到真正的問題是在判斷移動到的位子有無11/13 22:41
7F:→ ynnjk147: 合法時,if判斷式一次把該格有無被佔據也放進去,但是座11/13 22:41
8F:→ ynnjk147: 標可能已經越界,導致存取超過棋盤陣列大小,因此才會程11/13 22:41
9F:→ ynnjk147: 式出現問題。先檢查越界再檢查棋格有無被佔據後就沒問題11/13 22:41
10F:→ ynnjk147: 了,現在已經修正完了。11/13 22:41
※ 編輯: ynnjk147 (223.139.141.152), 11/13/2016 22:44:02