6
std :: unique_ptr ด้วยประเภทที่ไม่สมบูรณ์จะไม่รวบรวม
ฉันใช้ pimpl-idiom กับstd::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile }; อย่างไรก็ตามฉันได้รับข้อผิดพลาดในการคอมไพล์เกี่ยวกับการใช้ประเภทที่ไม่สมบูรณ์ในบรรทัด 304 ใน<memory>: แอปพลิเคชันไม่ถูกต้องของ ' sizeof' เป็นประเภทไม่สมบูรณ์ ' uixx::window::window_impl' เท่าที่ฉันรู้std::unique_ptrควรใช้กับประเภทที่ไม่สมบูรณ์ นี่เป็นข้อบกพร่องใน libc ++ หรือฉันทำอะไรผิดที่นี่?