Sto usando l'idioma pimpl con std::unique_ptr
:
class window {
window(const rectangle& rect);
private:
class window_impl; // defined elsewhere
std::unique_ptr<window_impl> impl_; // won't compile
};
Tuttavia, viene visualizzato un errore di compilazione relativo all'uso di un tipo incompleto, nella riga 304 in <memory>
:
Applicazione non valida di "
sizeof
" a un tipo incompleto "uixx::window::window_impl
"
Per quanto ne so, std::unique_ptr
dovrebbe essere in grado di essere utilizzato con un tipo incompleto. È un bug in libc ++ o sto facendo qualcosa di sbagliato qui?