任何人都知道为什么标题中VOID定义了一个大写的宏winnt.h?
为了使事情更加混乱,VOID是一个宏观的,而CHAR,SHORT,INT,和LONG是类型定义.
参见相关摘录winnt.h:
#ifndef VOID
#define VOID void
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
#if !defined(MIDL_PASS)
typedef int INT;
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
一个历史原因或许可以VOID* pointer代替void* pointer?
编辑:更令人不安的是看到人们使用VOID而不是今天void做Windows编程.您还可以将其视为MSDN文档的一部分,例如http://msdn.microsoft.com/en-us/library/bb205867(v=vs.85).aspx