【发布时间】:2020-11-09 01:20:21
【问题描述】:
对于我的 win32 代码,我想不使用 windows typedefs。细读Windows Data Types 显示HINSTANCE 是void *。据我所知,MSDN 可能会过时,检查 Windows 10 SDK 内部的 shared\wtypes.h 会发现 typedef void *HINSTANCE。
以下编译失败,返回error: conflicting types in WinMain:
int __stdcall
WinMain(void *instance, void *prev_instance, char *cmd_line , int cmd_show)
{
return 0;
}
我使用 clang++ 和 windows 头文件进行编译。
将void * 更改为HINSTANCE 当然可以解决问题。但是,为什么会这样呢?
【问题讨论】:
-
#define STRICT 0。但显然你还没有接近替换那些 typedef。