И это всё МОЁ

Подключил заголовок <memory>.

Пишу следующий код:

// В заголовке класса
unique_ptr<unsigned char> mImageData;

// В реализации
mImageData=make_unique<unsigned char>( SOIL_load_image("a.png", &w, &h, nullptr, SOIL_LOAD_RGB) );

И получаю ошибку:
Image.cpp:68:16: error: use of undeclared identifier 'make_unique'
Image.cpp:68:37: error: expected '(' for function-style cast or type construction


В то же время, код с созданием умного указателя и последующей его передачи не вызывает ошибки:
unique_ptr<unsigned char> imageData( SOIL_load_image("a.png", &w, &h, nullptr, SOIL_LOAD_RGB) );
mImageData=move(imageData);


Не могу понять, почему для make_unique() отсутсвует определение. Как сделать так, чтобы заполнение умного указателя делалось через make_unique()?








 , ,