[問題] C++函數回傳指標
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++
問題(Question):
我寫了一個回傳一維陣列的副程式,但是再次使用後,第一次回傳的值會有問題
預期結果
兩次輸出應該都會是一樣的值,但是卻改變了
兩次PRINTF都是 X 沒有打錯
但結果卻是Y
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/QQm11hB2
這是可以跑的小程式,跟我自己寫的程式一樣都出現與預期不同的結果
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.31.105
→
01/09 19:33, , 1F
01/09 19:33, 1F
→
01/09 19:38, , 2F
01/09 19:38, 2F
→
01/09 19:40, , 3F
01/09 19:40, 3F
→
01/09 20:13, , 4F
01/09 20:13, 4F
→
01/09 20:13, , 5F
01/09 20:13, 5F
→
01/09 20:13, , 6F
01/09 20:13, 6F
→
01/09 20:13, , 7F
01/09 20:13, 7F
→
01/09 20:14, , 8F
01/09 20:14, 8F
預期兩次都是0.4 跟0.2
1.1應該是Y值不是X值吧@@
但是我只是檢查X值而已卻已經變動了
→
01/09 20:15, , 9F
01/09 20:15, 9F
嗯!?
→
01/09 20:16, , 10F
01/09 20:16, 10F
→
01/09 20:18, , 11F
01/09 20:18, 11F
不是把result[0]丟到X[0],result[1]丟到X[1]嗎?
正常result[0]應該沒值吧@@ 我放在result[1]跟result[2]
→
01/09 20:20, , 12F
01/09 20:20, 12F
我印出來他分別為兩次不一樣的結果(但我認知也同意這兩次不同)
result[0]=0 result[1]=0.4 result[2]=0.2
result[0]=0 result[1]=1.1 result[2]=0.3
→
01/09 20:21, , 13F
01/09 20:21, 13F
→
01/09 20:21, , 14F
01/09 20:21, 14F
→
01/09 20:22, , 15F
01/09 20:22, 15F
→
01/09 20:23, , 16F
01/09 20:23, 16F
→
01/09 20:23, , 17F
01/09 20:23, 17F
我很像知道了,所以第二次印X 他指回return 當然是新的return@@摟
是這樣子嗎@@?
那我應該怎樣才能夠保存我第一次的result@@?
→
01/09 20:25, , 18F
01/09 20:25, 18F
恩恩 如果我再跑第三次
TEST(0.1,0.8);
XY 就會跑最新的值麻@@
推
01/09 20:27, , 19F
01/09 20:27, 19F
→
01/09 20:27, , 20F
01/09 20:27, 20F
→
01/09 20:28, , 21F
01/09 20:28, 21F
感謝 我先閱讀第二個,第一個很像怪怪的
→
01/09 20:29, , 22F
01/09 20:29, 22F
推
01/09 20:35, , 23F
01/09 20:35, 23F
不是啦,剛剛第一個開不起來所以怪怪的 不是內容怪怪的...
※ 編輯: Bourbon 來自: 140.120.31.105 (01/09 20:41)
→
01/10 00:01, , 24F
01/10 00:01, 24F
推
01/12 13:35, , 25F
01/12 13:35, 25F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章