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