我得到了一个结构和一个函数,如下所示:
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 *”
尝试2:
HandleAcceptIndication(new ACCEPT_OVERLAPPED);
错误 1 错误 C2664:“HandleAcceptIndication”:无法将参数 1 从“MYOVERLAPPED *”转换为“std::unique_ptr<_Ty>”
任何人都知道我如何可以将 OVERLAPPED 的这个转换指针传递给 MYOVERLAPPED 到函数,以及为什么 Try2 也不起作用,因为我随便使用std::unique_ptr<MYOVERLAPPED> pO(new MYOVERLAPPED)
which 确实有效......?