Я продолжаю получать следующее сообщение об ошибке, когда я строю,C++ Использование необъявленный идентификатор 'make_unique'
использование необъявленный идентификатор '' 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, а ошибка соответствует .. где я буду неправильно?
['make_unique'] (http://en.cppreference.com/w/cpp/memory/unique_ptr/make_unique) доступен только с C++ 14. Вы компилируете с включенным C++ 14 (или более поздним) (т. Е. '-std = C++ 14' в clang или gcc)? – Cornstalks
@Cornstalks, я не уверен, что мой qt-создатель основан на C++ 14, все, что я знаю, использует QT_5_6_0_MinGW_32bit .. Думаю, это, вероятно, нет. есть ли какая-либо настройка в qt, где я могу проверить? – Ceria
Qt Creator - это просто IDE, отличный визуальный интерфейс для программирования. Qt Creator использует компилятор за кулисами. Вы должны иметь возможность включить C++ 14, добавив 'CONFIG + = C++ 14' (или что-то вроде этого, я не на 100%, что точная команда) в ваших настройках проекта. – Cornstalks