作者alan23273850 (God of Computer Science)
看板C_and_CPP
標題[問題] is_nothrow_move_constructible 相關問題
時間Sat Jan 29 00:24:59 2022
如題,小弟我呢沒接觸過 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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1643387102.A.0E1.html
2F:推 LPH66: move constructible: 有 move 建構子 01/29 23:10
3F:→ LPH66: is nothrow: 該建構子要宣告 noexcept 01/29 23:12
4F:→ LPH66: 你 44 行的東西不是 move 建構子, 因為它還有第二個參數 01/29 23:13
5F:→ LPH66: 看起來你的這個第二參數是拿來做記憶體管理的 01/29 23:15
6F:→ LPH66: 那你必須要改成留一個它的參考在 class 裡 01/29 23:16
7F:→ LPH66: move 的時候從被 move 的人身上找到這個東西讓它跟過去 01/29 23:16
8F:→ alan23273850: 懂了!我明天試試看~ 01/30 00:02
9F:→ alan23273850: 成功了!雖然我code其他部分還是有 runtime error, 01/30 15:32
10F:→ alan23273850: 但這個部分的error確實消失了,奉送大大1000P 01/30 15:38