作者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/cn.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