gpt4 book ai didi

c - visual studio 2012中的sendmessage回调错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:00 29 4
gpt4 key购买 nike

visual studio 2012中的sendmessage回调错误我在此 C 函数中收到以下错误?

error C2220: warning treated as error - no 'object' file generated
warning C4100: 'wParam' : unreferenced formal parameter
warning C4100: 'hwnd' : unreferenced formal parameter



LRESULT CALLBACK WndProc (HWND hwnd,UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) {
case WM_COPYDATA:
{

COPYDATASTRUCT* copy_data = (COPYDATASTRUCT*)(lParam);

const char* str = (const char* )(copy_data->lpData);
/* Also fixed the parameter list for "%.*s" */
printf("Message (%u): %.*s\n", copy_data->dwData, (int)copy_data->cbData, str);
}
}
}

最佳答案

错误是您告诉编译器将警告视为错误,并且您有两个关于函数中未使用的参数的警告。

最简单的解决方案是实际上跳过命名这些参数,如下所示:

LRESULT CALLBACK WndProc (HWND, UINT message, WPARAM, LPARAM lParam)

对于在 C 中运行的解决方案,您必须实际使用参数,即使您不对它们做任何事情。这可以通过例如在表达式中使用它们并丢弃结果,例如

(void) hwnd;
(void) wParam;

或者为此使用 winnt.h 中定义的宏(默认情况下应该包含在内):

UNREFERENCED_PARAMETER(hwnd);
UNREFERENCED_PARAMETER(wParam);

参见例如this article .

关于c - visual studio 2012中的sendmessage回调错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770529/

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