【发布时间】:2020-02-09 07:38:54
【问题描述】:
我正在尝试编写一个从进程 ID 返回 HWND 的函数,但有一个小问题。我收到错误“需要一个标识符”。只有当我删除 window_data &data 中的 & 但该功能不起作用时,它才会编译。为什么首先需要 & ?代码在 C++ 中编译,但不是在 C 中。
typedef struct
{
DWORD dwProcessID;
HWND hWnd;
} window_data;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
window_data &data = *(window_data*)lParam;
DWORD dwProcessID = 0;
GetWindowThreadProcessId(hwnd, &dwProcessID);
if (dwProcessID != data.dwProcessID)
return TRUE;
data.hWnd = hwnd;
return FALSE;
}
【问题讨论】:
-
这能回答你的问题吗? Does C have references?
-
是的。我现在开始工作了