Я пытаюсь привести auto_ptr к аннулированию указателя следующим образом:
void *AM::This2Ctx(std::auto_ptr<AMContext> data)
{
return reinterpret_cast<void *>(data);
}
но я продолжаю получать ошибку компиляции:
error: invalid cast from type std::auto_ptr<AMContext> to type void*
как правильно провести кастинг? и как это можно использовать противоположным образом?
использование .get()
чтобы получить доступ к указателю, удерживаемому auto-ptr:
reinterpret_cast<void *>(data.get());
~~~~~~
К тому же, auto_ptr
устарела, использовать unique_ptr
вместо.
Других решений пока нет …