gpt4 book ai didi

c++ - 将指针转换为 LPVOID*

转载 作者:行者123 更新时间:2023-11-28 02:28:09 25 4
gpt4 key购买 nike

我有以下代码:

IShellLink* psl;
HRESULT hres = CoCreateInstance(
CLSID_ShellLink,
NULL,
CLSCTX_INPROC_SERVER,
IID_IShellLink,
(LPVOID*)&psl);

编译正确。但我需要替换 (LPVOID*)&psl通过 *_cast .我必须使用什么类型转换?

static_cast<LPVOID*>(&psl)生成错误(在 MSVC 2013 中)。

使用 reinterpret_cast<LPVOID*>(&psl) 是否正确? ?

最佳答案

我认为您可能必须使用 reinterpret_cast,因为 CoCreateInstance 函数的最后一个参数用于输出目的。请参阅此链接:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686615(v=vs.85).aspx

因此,无论您进行 C 风格转换还是使用 reinterpret_cast,该函数只是想在堆中创建对象后将指针值放入变量“psl”中。

关于c++ - 将指针转换为 LPVOID*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29821223/

25 4 0
文章推荐: html - 即使 html 文件没有错误,标记验证也没有显示绿色横幅
文章推荐: C++ 在函数中写入数组
文章推荐: javascript - 一行中的多个