我在构建时不断收到以下错误,
使用未声明的标识符'make_unique' m_planet = make_unique();
我的头文件,它给出了错误,
#include "planet.h"
#include <memory>
using namespace std;
class PlanetBuilder
{
public:
PlanetBuilder();
virtual ~PlanetBuilder();
void createNewPlanetProduct() {
m_planet = make_unique<Planet>();
}
protected:
unique_ptr<Planet> m_planet;
};
#endif // PLANETBUILDER_H
我正在运行QtCreator 3.6.0,在Mac和Windows平台上都尝试过,错误是一致的......我哪里出错?
答案 0 :(得分:1)
make_unique需要#include <memory>
但是,既然您这样做了,我会认为您没有使用C ++ 14或更高版本。
尝试在您的制作文件中添加以下标志。
-std=c++14
答案 1 :(得分:0)
对于使用#include的当前QT,我是5.7。 通过以下链接,您会发现更多信息。 QScopedPointer link