5
ฉันสามารถแสดงรายการ - เริ่มต้นเวกเตอร์ประเภทย้ายอย่างเดียวได้หรือไม่
ถ้าฉันส่งรหัสต่อไปนี้ผ่านสแนปชอต GCC 4.7 ของฉันมันจะพยายามคัดลอกunique_ptrs ลงในเวกเตอร์ #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } เห็นได้ชัดว่าไม่สามารถทำงานได้เนื่องจากstd::unique_ptrไม่สามารถคัดลอกได้: ข้อผิดพลาด: การใช้ฟังก์ชันที่ถูกลบ 'std :: unique_ptr <_Tp, _Dp> :: unique_ptr (const std :: unique_ptr <_Tp, _Dp> &) [ด้วย _Tp = int; _Dp = std :: default_delete; …