std :: unique_ptr с неполным типом не будет компилироваться

Я использую pimpl-идиому сstd::unique_ptr:

class window {
  window(const rectangle& rect);

private:
  class window_impl; // defined elsewhere
  std::unique_ptr<window_impl> impl_; // won't compile
};

Тем не менее, я получаю ошибку компиляции относительно использования неполного типа, в строке 304 в<memory>:

Неверное заявлениеsizeof«неполному типу»uixx::window::window_impl'

Насколько я знаю,std::unique_ptr должен быть в состоянии использоваться с неполным типом. Это ошибка в libc ++ или я что-то здесь не так делаю?

Ответы на вопрос(6)

Ваш ответ на вопрос