У меня есть структура и функция, подобная следующей:
struct MYOVERLAPPED : public OVERLAPPED
{
//...
};
void func1(std::unique_ptr<MYOVERLAPPED> pBuf)
{
//...
};
Я получаю указатель на MYOVERLAPPED, который я хочу передать функции func1.Проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, что я пытаюсь, я получаю следующие ошибки:
Я уже пытался попробовать следующее: Try1:
std::unique_ptr<OVERLAPPED> pOver(//....)
HandleAcceptIndication(std::move(pOver));
Ошибка: ошибка1 ошибка C2440: «инициализация»: невозможно преобразовать из «_OVERLAPPED **» в «MYOVERLAPPED *»
Try2:
HandleAcceptIndication(new ACCEPT_OVERLAPPED);
Ошибка 1, ошибка C2664: 'HandleAcceptIndication ': невозможно преобразовать параметр 1 из' MYOVERLAPPED * 'в' std :: unique_ptr <_Ty> '
Любой знает, как я могу передать этот приведенный указатель из OVERLAPPED в MYOVERLAPPED в функцию и почему Try2тоже не работает, так как я случайно использую std::unique_ptr<MYOVERLAPPED> pO(new MYOVERLAPPED)
, который работает ...?