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_ptrdovrebbe essere in grado di essere utilizzato con un tipo incompleto. È un bug in libc ++ o sto facendo qualcosa di sbagliato qui?