看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) VS2017 問題(Question): 小弟現在有個四人的共同作業 今天遇到了一個詭異的問題 兩個人的電腦是可以執行的,兩個人的電腦是會遇到這個bug(run time error) 最後雖然試到解決bug了(應該),但還是很在意所以上來問問 程式碼(Code):(請善用置底文網頁, 記得排版) vector<shared_ptr<A>>& function() { vector<shared_ptr<A>> A_list; A_list.clear(); return A_list; } 拿掉這個&之後就可以正常執行了 想請問原本有&的寫法是不可以的嗎? 或其實這個不是原因只是誤打誤撞剛好修到問題點.. 另一個問題是為什麼會有有些電腦可以執行,有些卻會跳bug的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.236.24.16 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1519219431.A.B6F.html
aiwhat: reference to local variable 02/21 21:28
aiwhat: A_list的生命週期離開function時就結束了 02/21 21:29
allensheng: 就是置底那篇第五點對嗎@@? 02/21 21:36
Ommm5566: 樓上 對 02/21 21:39
Killercat: 回傳reference你要真的知道你在做什麼 02/24 08:11
Killercat: 除了回傳*this當reference外 其他錯的機率非常高 02/24 08:12
Killercat: 另外你那個叫做undefined behavior, 從相安無事到導致 02/24 08:13
Killercat: 川普下次當選美國總統都有可能 02/24 08:13
PkmX: 樓上XD 02/24 15:43
uranusjr: 川川選上就是因為 Tesla 車裡有未定義行為你不知道嗎 02/24 17:25
BlazarArc: 樓上XDD 02/24 21:18
y3k: Tesla十五年前Founded的時候 川普就已經準備好了 02/24 22:10