最佳答案
我在std::unique_ptr
中使用了粉刺习语:
class window {
window(const rectangle& rect);
private:
class window_impl; // defined elsewhere
std::unique_ptr<window_impl> impl_; // won't compile
};
然而,在<memory>
的第304行,我得到了一个关于使用不完整类型的编译错误:
对不完整类型'
uixx::window::window_impl
'的'sizeof
'应用无效
据我所知,std::unique_ptr
应该可以用于不完整类型。这是一个错误在libc++或我在这里做错了什么?