Estou usando o pimpl-idiom com std::unique_ptr
:
class window {
window(const rectangle& rect);
private:
class window_impl; // defined elsewhere
std::unique_ptr<window_impl> impl_; // won't compile
};
No entanto, recebo um erro de compilação sobre o uso de um tipo incompleto, na linha 304 em <memory>
:
Aplicativo inválido de '
sizeof
' para um tipo incompleto 'uixx::window::window_impl
'
Até onde eu sei, std::unique_ptr
deve poder ser usado com um tipo incompleto. Isso é um bug no libc ++ ou estou fazendo algo errado aqui?