gpt4 book ai didi

c++ - 错误 C2440 : 'initializing' : cannot convert from 'LPVOID' to 'UINT

转载 作者:太空宇宙 更新时间:2023-11-04 15:53:48 27 4
gpt4 key购买 nike

我在尝试将代码从 C 转换为 C++ 时遇到以下错误:

错误 C2440:“正在初始化”:无法从“LPVOID”转换为“UINT (__cdecl *)(LPVOID,UINT,LPWSTR,UINT)”

这是导致问题的代码片段:

UINT (*GetString)( LPVOID rsrc, UINT res, LPWSTR buf, UINT len )
= (LPVOID)0x4347e0;

我该如何解决?

最佳答案

您正试图说服编译器将 0x4347e0(类型为“int”)视为指向采用 4 个参数的函数的指针。将 int 转换为 LPVOID 不会满足编译器的要求 - 您需要将其转换为正确的东西:

typedef UINT (*GetStringFnPtr)(LPVOID rsrc, UINT res, LPWSTR buf, UINT len );
GetStringFnPtr GetString = (GetStringFnPtr)0x4347e0;

关于c++ - 错误 C2440 : 'initializing' : cannot convert from 'LPVOID' to 'UINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com