[問題] 傳參數進class的建構函式

看板C_and_CPP作者 (哈姆妍)時間8年前 (2017/10/01 11:32), 8年前編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
我現在想用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

10/01 11:52, , 1F
array size 要另外傳,你這樣只能得到pointer size
10/01 11:52, 1F
是因為我傳陣列指標進去 所以對sizeof(array)來說它的大小就只是一個pointer嗎?

10/01 12:02, , 2F
因為陣列 decay 成指標之後就失去維度資訊了。
10/01 12:02, 2F

10/01 12:02, , 3F
對,你陣列大小要另外傳
10/01 12:02, 3F
我懂了 謝謝b大和s大~ ※ 編輯: Brothre23 (36.228.108.250), 10/01/2017 12:23:58

10/01 23:14, , 4F
你 sizeof 得到的是指向 array 的 pointer 大小
10/01 23:14, 4F

10/01 23:15, , 5F
不是被指向的 array 大小
10/01 23:15, 5F

10/06 21:49, , 6F
現在有Initialization List了 直接vector當參數吧
10/06 21:49, 6F

10/06 21:50, , 7F
誒打錯 應該是Initializer List...名字搞那麼像 囧
10/06 21:50, 7F

10/06 21:53, , 8F
請參閱std::initializer_list
10/06 21:53, 8F

10/06 21:54, , 9F
發現手誤 應該是「直接放array進去當參數」
10/06 21:54, 9F
文章代碼(AID): #1Pq66wsK (C_and_CPP)