看板 C_and_CPP 關於我們 聯絡資訊
我現在想用vector的方式操作merge sort 所以在main函式宣告好資料的陣列之後想轉成vector丟進我的物件 可是問題是 如果我把陣列大小也就是n當成參數傳入建構函式就沒問題 那為什麼在建構函式裡才算陣列大小就會出錯@@ 像這樣 http://codepad.org/cJMXRzZl 還是板上各位還有推薦什麼方法可以把array轉成vector呢~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.108.250 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1506828730.A.D94.html
bluesoul: array size 要另外傳,你這樣只能得到pointer size 10/01 11:52
是因為我傳陣列指標進去 所以對sizeof(array)來說它的大小就只是一個pointer嗎?
stucode: 因為陣列 decay 成指標之後就失去維度資訊了。 10/01 12:02
bluesoul: 對,你陣列大小要另外傳 10/01 12:02
我懂了 謝謝b大和s大~ ※ 編輯: Brothre23 (36.228.108.250), 10/01/2017 12:23:58
diabloevagto: 你 sizeof 得到的是指向 array 的 pointer 大小 10/01 23:14
diabloevagto: 不是被指向的 array 大小 10/01 23:15
Killercat: 現在有Initialization List了 直接vector當參數吧 10/06 21:49
Killercat: 誒打錯 應該是Initializer List...名字搞那麼像 囧 10/06 21:50
Killercat: 請參閱std::initializer_list 10/06 21:53
Killercat: 發現手誤 應該是「直接放array進去當參數」 10/06 21:54