J'utilise le pimpl-idiom avec std::unique_ptr
:
class window {
window(const rectangle& rect);
private:
class window_impl; // defined elsewhere
std::unique_ptr<window_impl> impl_; // won't compile
};
Cependant, j'obtiens une erreur de compilation concernant l'utilisation d'un type incomplet, à la ligne 304 dans <memory>
:
Application non valide de '
sizeof
' à un type incomplet 'uixx::window::window_impl
'
Pour autant que je sache, std::unique_ptr
devrait pouvoir être utilisé avec un type incomplet. Est-ce un bogue dans libc ++ ou est-ce que je fais quelque chose de mal ici?