在使用CMap时,包含了<afxtempl.h>后,出现了如题的报错。
在网上查到了解决方案:把<afxtempl.h>改为第一个被包含的头文件
原因:如果将<afxtempl.h>放在其它头文件之后包含,在包含<afxtempl.h>之前,有些头文件可能包含了<windows.h>因而会报错。
深究:
包含<afxtempl.h>之前为什么不能包含<windows.h>呢?
在MSDN上看到了一些解释:https://social.msdn.microsoft.com/Forums/zh-CN/f34c8b0e-59a1-4abc-86de-319ee748c9d7/windowsh-already-included?forum=vcgeneral
总结一些就是:方式用户手动包含<windows.h>——但是为什么要防止用户手动包含<windows.h>呢?(待解)