看板 C_and_CPP 關於我們 聯絡資訊
如題,小弟我呢沒接觸過 std::is_nothrow_move_constructible<T>::value 的概念, 目前接手到一份 code:https://pastecode.io/s/h3f36rmp 無法通過測試, 也就是 static_assert(std::is_nothrow_move_constructible<T>::value); 請問我該怎麼修改那個 class 使其通過這個測試呢?謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.242.237.96 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1643387102.A.0E1.html
Dracarys: https://i.imgur.com/yNQLsh5.gif 01/29 04:34
LPH66: move constructible: 有 move 建構子 01/29 23:10
LPH66: is nothrow: 該建構子要宣告 noexcept 01/29 23:12
LPH66: 你 44 行的東西不是 move 建構子, 因為它還有第二個參數 01/29 23:13
LPH66: 看起來你的這個第二參數是拿來做記憶體管理的 01/29 23:15
LPH66: 那你必須要改成留一個它的參考在 class 裡 01/29 23:16
LPH66: move 的時候從被 move 的人身上找到這個東西讓它跟過去 01/29 23:16
alan23273850: 懂了!我明天試試看~ 01/30 00:02
alan23273850: 成功了!雖然我code其他部分還是有 runtime error, 01/30 15:32
alan23273850: 但這個部分的error確實消失了,奉送大大1000P 01/30 15:38