当前位置:C++技术网 > 资讯 > Win窗口程序里面使用WinMain出现无批注问题

Win窗口程序里面使用WinMain出现无批注问题

更新时间:2019-04-19 11:30:07浏览次数:1+次

严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C28251 “WinMain”的批注不一致: 此实例包含 无批注。请参见 c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\winbase.h(913)。 Project1 c:\users\jmy\source\repos\project1\源.cpp 3  

【C++技术网解答】

下面是MSDN的官方解释:

警告的 C28251:函数的不一致的批注:此实例都有一个错误

此警告指的是批注的错误和反射需要在函数声明中的批注必须是在定义,但,如果函数 typedef 是包含的。 在此情况下,该功能 typedef 采用如显式有关声明和了定义。

请注意批注通常实现为宏,并且,宏通常会产生几种低级别批注。 此警告为每个不匹配低级别批注报告,因此,一个不匹配批注宏可以提供多种不匹配低级别批注。 比较声明和定义源代码以确保,最好相同的。 (无足轻重的差异按批注的顺序不会报告。)

该比较始终在第一个声明中的和当前回发之间。 如果具有附加的声明,则每个声明签入两组。 执行比较除了对当前是不可能的,不过,标识可以使两个以上声明/定义。 上面 文本 的字段包含不同的批注列表 (位于一个非常低级别) 在两个实例之间。

此警告消息显示基础代码的文本发送给编译器,实际上用于插入批注将在源代码而非宏 (如种情况下,只要使用宏)。 一般来说,您不需要了解低级别批注,但是,应考虑批注报告为不一致在错误消息报告的行号之间。 首先,源代码的测试将明确指出不一致为什么存在。

补充:

分析官方解释,代码可能存在typedef和宏定义的冲突,请检查代码。因为没有贴代码,所以无从分析,请自行查看。