gpt4 book ai didi

c++ - 无法从 'FARPROC' 转换为 'BOOL (__cdecl *)(LPMEMORYSTATUSEX)'

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:03 26 4
gpt4 key购买 nike

BOOL (WINAPI *gmse)(LPMEMORYSTATUSEX) = GetProcAddress(
kernel32, "GlobalMemoryStatusEx");

这是一个 .cpp 文件。编译上述代码时出现以下错误。

error C2440: 'initializing' : cannot convert from 'FARPROC' to 'BOOL (__cdecl *)(LPMEMORYSTATUSEX)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast

我似乎无法弄清楚我应该将 GetProcAddress 函数转换为什么。有人可以指出我正确的方向吗?

谢谢

最佳答案

您需要将其转换为函数指针类型。为简化起见,使用 typedef 作为函数指针类型:

typedef BOOL (WINAPI *gmse_t)(LPMEMORYSTATUSEX);

gmse_t gmse = (gmse_t)GetProcAddress(kernel32, "GlobalMemoryStatusEx");

GetProcAddress() MSDN 上的引用页面提供了示例代码。

关于c++ - 无法从 'FARPROC' 转换为 'BOOL (__cdecl *)(LPMEMORYSTATUSEX)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15680008/

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