我正在将程序从 C 转换为 C++。我将编译器设置为默认使用 __fastcall 调用约定。
我曾经有一个声明行如下:
INT32 PASCAL graph_window_handler(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
后来我有:
wndclass.lpfnWndProc = graph_window_handler;
这一切都在 C 下编译和工作。但是在 C++ 下,我从编译器那里得到了关于第二行代码的各种抱怨。我想我需要将原始声明更改为涉及 WNDPROC 的内容,可能会加入 _cdecl?带或不带 INT32?但似乎我尝试的每一个变化仍然受到抱怨。声明应该是什么样子才能使第二行不会被抱怨?- 欢呼。