Saya menggunakan idiom-jerawat dengan std::unique_ptr
:
class window {
window(const rectangle& rect);
private:
class window_impl; // defined elsewhere
std::unique_ptr<window_impl> impl_; // won't compile
};
Namun, saya mendapatkan kesalahan kompilasi tentang penggunaan tipe yang tidak lengkap, pada baris 304 di <memory>
:
Aplikasi '
sizeof
' ke jenis yang tidak lengkap 'uixx::window::window_impl
' tidak valid
Sejauh yang saya tahu, std::unique_ptr
harus bisa digunakan dengan tipe yang tidak lengkap. Apakah ini bug di libc ++ atau saya melakukan sesuatu yang salah di sini?