[問題] 變數宣告的位置

看板C_and_CPP (C/C++)作者 (吉他手)時間13年前 (2013/01/15 17:45), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Qt 4.8.1 for desktop - MSVC2010 (Qt SDK) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) QtSql math OsiClpSolverInterface (open source, 解線性規劃的solver) 問題(Question): line 137 的指標變數 如果new在line 113 的function前面 程式執行後會當掉 跳出exe has stopped working. windows will close the program balabala... 用debug模式 過了line 137這個變數後 會出現 the inferior stopped because it triggered an exception stopped in thread 0 by : exception at 0x6dddcb4c, code:0xc0000005: read access violation at: 0x0, flag = 0x0 但若將line 137的變數 new 在line 113的function之後, 也就是將line 108放到 opt.SolveNetwork() 之後,程式就可順利的執行完成~@@! 若一定要在呼叫那個function後才能new 就會變成迴圈 每跑一次都要new一次,但我只需要先new一次 把迴圈每圈的結果收集起來 找了兩天還是不知道為何會這樣...請問這是啥原因~感謝 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/4EV9ESmT SolveNetwork的程式碼 http://codepad.org/vkKPo49v -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 161.130.178.168

01/15 18:51, , 1F
你108行new double時opt.ReturnNumOfVar()的值是對的嗎?
01/15 18:51, 1F

01/15 19:26, , 2F
是對的,跟136行的for要跑的圈數一樣
01/15 19:26, 2F

01/15 19:28, , 3F
阿阿阿阿阿 感謝提醒...呆了我><~在SolveNetwork
01/15 19:28, 3F

01/15 19:29, , 4F
前還沒辦法回傳ReturnNumOfVar()...我再修改看看
01/15 19:29, 4F
文章代碼(AID): #1GzILGx9 (C_and_CPP)
文章代碼(AID): #1GzILGx9 (C_and_CPP)