Подключил заголовок <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()?