我想将unique_ptr用于QMenu,而不是将它作为基本小部件的子代,所以我已经将它声明为这样
private:
std::unique_ptr<QMenu> m_pMenu;
并在构造函数
中std::unique_ptr<QMenu> m_pMenu ( new QMenu());
m_pMenu->setObjectName("JobContextMenu");
我还补充道 我的.pro文件中的CONFIG + = c ++ 11 但是在编译unique_ptr时会返回错误 'sizeof'无法应用于不完整类型'QMenu'
答案 0 :(得分:0)
重复定义。 此外,您可以在C ++ 11中以这种方式执行此操作:
private:
std::unique_ptr<QMenu> m_pMenu = std::unique_ptr<QMenu>(new QMenu);