本节列出介于 C6000 和 C6999 之间的 C/C++ 代码分析警告。
警告编号 |
说明 |
---|---|
C6001 |
警告 C6001:使用未初始化的内存 |
C6011 |
警告 C6011:正在取消 NULL 指针 |
C6029 |
警告 C6029:对 |
C6031 |
警告 C6031:返回值被忽略: |
C6053 |
警告 C6053:对 |
C6054 |
警告 C6054:字符串 |
C6057 |
警告 C6057: |
C6059 |
警告 C6059: |
C6063 |
警告 C6063:缺少 |
C6064 |
警告 C6064:缺少 |
C6066 |
警告 C6066:传递了非指针参数 |
C6067 |
警告 C6067:参数 |
C6200 |
警告 C6200:索引 |
C6201 |
警告 C6201: |
C6202 |
警告 C6202: |
C6203 |
警告 C6203:缓冲区 |
C6204 |
警告 C6204:对 |
C6209 |
警告 C6209:正在使用“sizeof |
C6211 |
警告 C6211:由于出现异常,正在泄漏内存 |
C6214 |
警告 C6214:语义不同的整数类型之间的强制转换: HRESULT 转换为 Boolean 类型 |
C6215 |
警告 C6215:语义不同的整数类型之间的强制转换: Boolean 类型转换为 HRESULT |
C6216 |
警告 C6216:语义不同的整数类型之间由编译器插入的强制转换: Boolean 类型转换为 HRESULT |
C6217 |
警告 C6217:语义不同的整数类型之间的隐式强制转换: 使用“not”测试 HRESULT。应考虑改用 SUCCEEDED 或 FAILED 宏 |
C6219 |
警告 C6219:语义不同的整数类型之间的隐式强制转换: 将 HRESULT 与 1 或 TRUE 进行比较。应考虑改用 SUCCEEDED 或 FAILED 宏 |
C6220 |
警告 C6220 - 语义不同的整数类型之间的隐式强制转换: 将 HRESULT 与 -1 进行比较。应考虑改用 SUCCEEDED 或 FAILED 宏 |
C6221 |
警告 C6221:语义不同的整数类型之间的隐式强制转换: 将 HRESULT 与一个整数进行比较。应考虑改用 SUCCEEDED 或 FAILED 宏 |
C6225 |
警告 C6225:语义不同的整数类型之间的隐式强制转换: 将 1 或 TRUE 赋给 HRESULT。应考虑改用 S_FALSE |
C6226 |
警告 C6226:语义不同的整数类型之间的隐式强制转换: 将 -1 赋给 HRESULT。应考虑改用 E_FAIL |
C6230 |
警告 C6230:语义不同的整数类型之间的隐式强制转换: 在 Boolean 上下文中使用 HRESULT |
C6235 |
警告 C6235:( |
C6236 |
警告 C6236:( |
C6237 |
警告 C6237:( |
C6239 |
警告 C6239:( |
C6240 |
警告 C6240:( |
C6242 |
警告 C6242:从此 try 块中跳转将强制展开局部堆栈。这样会严重影响性能 |
C6244 |
警告 C6244: |
C6246 |
警告 C6246: |
C6248 |
警告 C6248:将 SECURITY_DESCRIPTOR 的 DACL 设置为 NULL 将产生一个不受保护的对象 |
C6250 |
警告 C6250:不使用 MEM_RELEASE 标志调用 |
C6255 |
警告 C6255:_alloca 通过引发堆栈溢出异常表明失败。应考虑改用 _alloca_s |
C6258 |
警告 C6258:使用 TerminateThread 将不允许进行相应的线程清理 |
C6259 |
警告 C6259:无法访问带标签的代码: switch 表达式中的( |
C6260 |
警告 C6260:sizeof * sizeof 在绝大部分情况下是错误的,打算使用字符数还是字节数? |
C6262 |
警告 C6262:函数使用了堆栈中的 |
C6263 |
警告 C6263:在循环中使用 _alloca: 这样会很快造成堆栈溢出 |
C6268 |
警告 C6268:错误的运算顺序: ( |
C6269 |
警告 C6269:运算顺序可能不正确: 取消引用被忽略 |
C6270 |
警告 C6270:缺少 |
C6271 |
警告 C6271:向 |
C6272 |
警告 C6272:传递了非浮点型参数 |
C6273 |
警告 6273:传递了非整型参数 |
C6274 |
警告 C6274:传递了非字符型参数 |
C6276 |
警告 C6276:语义不同的字符串类型之间的强制转换: char* 到 wchar_t*。使用无效的字符串会导致未定义的行为 |
C6277 |
警告 C6277:在对 |
C6278 |
警告 C6278: |
C6279 |
警告 C6279: |
C6280 |
警告 C6280: |
C6281 |
警告 6281 - 运算顺序不正确: 关系运算符的优先级高于位运算符 |
C6282 |
警告 C6282:运算符不正确: 在 Boolean 上下文中执行了常数赋值。应考虑改用“==” |
C6283 |
警告 C6283: |
C6284 |
警告 C6284:传递了对象参数“%d”,而对 |
C6285 |
警告 C6285:( |
C6286 |
警告 C6286:( |
C6287 |
警告 C6287:冗余代码: 左右两侧的子表达式完全相同 |
C6288 |
警告 C6288:运算符不正确: 基于 && 的相同运算始终为 0。是否希望改用 ||? |
C6289 |
警告 C6289:运算符不正确: 基于 || 的互斥运算为非零常数。是否希望改用 &&? |
C6290 |
警告 C6290:对逻辑结果的位运算: !的优先级高于 &。应改用 && 或 (!(x & y)) |
C6291 |
警告 C6291:对逻辑结果的位运算: !的优先级高于 |。应改用 || 或 (!(x | y)) |
C6292 |
警告 C6292:for 循环定义错误: 从最大值开始向上计数 |
C6293 |
警告 C6293:for 循环定义错误: 从最小值开始向下计数 |
C6294 |
警告 C6294:for 循环定义错误: 初始条件不满足测试。循环体未执行 |
C6295 |
警告 C6295:for 循环定义错误: |
C6296 |
警告 C6296:for 循环定义错误: 循环体仅执行一次 |
C6297 |
警告 C6297:算术溢出: 对 32 位值进行移位操作,然后强制转换为 64 位值。可能得到非预期的结果值 |
C6298 |
警告 C6298:将只读字符串 |
C6299 |
警告 C6299:对一个位字段和 Boolean 类型进行显式比较会产生意外的结果 |
C6302 |
警告 C6302:格式字符串不匹配: 传递了字符字符串参数 |
C6303 |
警告 C6303:格式字符串不匹配: 传递了宽字符字符串参数 |
C6305 |
警告 C6305:sizeof 和 countof 量值之间可能不一致 |
C6306 |
警告 C6306:不正确的 |
C6308 |
警告 C6308:“realloc”可能返回 null 指针: 将 null 指针赋给 |
C6309 |
警告 C6309:参数 |
C6310 |
警告 C6310:异常筛选器中的非法常数会导致意外的行为 |
C6312 |
警告 C6312:可能是无限循环: 在一个 try-except 的异常筛选器表达式中使用常数 EXCEPTION_CONTINUE_EXECUTION |
C6313 |
警告 C6313:运算符不正确: 不能使用按位与来测试零值标志。应使用相等测试来检查零值标志 |
C6314 |
警告 C6314:运算顺序不正确: 按位或的优先级高于条件表达式运算符。请使用括号明确指定优先级 |
C6315 |
警告 C6315:运算顺序不正确: 接位与的优先级高于按位或。请使用括号明确指定优先级 |
C6316 |
警告 C6316:运算符不正确: 被测试的表达式为非零常数。请使用按位与确定是否设置相应的位 |
C6317 |
警告 C6317:运算符不正确: 逻辑非(!)与 1 的补数(~)不可互换 |
C6318 |
警告 C6318:__try/__except 未正确定义: 在异常筛选器表达式中使用了常数 EXCEPTION_CONTINUE_SEARCH 或另一个计算结果为 0 的常数。异常处理程序块中的代码将不会执行 |
C6319 |
警告 C6319:在被测试的表达式中使用了逗号运算符,导致左侧的参数在无副作用时被忽略 |
C6320 |
警告 C6320:异常筛选器表达式为常数 EXCEPTION_EXECUTE_HANDLER。这样可能会屏蔽不打算处理的异常 |
C6322 |
警告 C6322:空的 _except 块 |
C6323 |
警告 C6323:对一个或多个 Boolean 类型使用算术运算符 |
C6324 |
警告 C6324:<函数 1> 的使用可能不正确: 是否希望使用 <函数 2>? |
C6326 |
警告 C6326:可能对两个常数进行比较 |
C6327 |
警告 C6327:可能出现缓冲区溢出: SysAllocStringLen 复制 |
C6328 |
警告 C6328:已将 |
C6331 |
警告 C6331:无效的参数: 不允许将 MEM_RELEASE 和 MEM_DECOMMIT 与 |
C6332 |
警告 C6332:无效的参数: 不允许将 0 作为 dwFreeType 参数传递给 |
C6333 |
警告 C6333:无效的参数: 不允许将 MEM_RELEASE 和非零 dwSize 参数一起传递给 |
C6334 |
警告 C6334:将 sizeof 运算符应用于带有运算符的表达式可能产生意外的结果 |
C6335 |
警告 C6335:泄漏进程信息句柄 |
C6336 |
警告 C6336:算术运算符的优先级高于问号运算符,请使用括号明确指定优先级 |
C6381 |
警告 C6381:Shutdown API |
C6383 |
警告 C6383:将元素数转换为字节数造成缓冲区溢出: 需要使用元素数作为参数 |
C6384 |
警告 C6384:用另一值除指针的 sizeof 值 |
C6385 |
警告 C6385:无效的数据: 访问 |
C6386 |
警告 C6386:缓冲区溢出: 访问 |
C6387 |
警告 C6387: |
C6388 |
警告 C6388: |
C6400 |
警告 C6400:使用 |
C6401 |
警告 C6401:在默认区域设置中使用 |
C6500 |
警告 C6500:无效的批注: |
C6501 |
警告 C6501:批注冲突: |
C6503 |
警告 C6503:批注冲突: 引用不可标记为 Null=Yes 或 Null=Maybe |
C6504 |
警告 C6504:无效的批注: 属性只能用于指针值、指向成员的指针值或数组类型值 |
C6505 |
警告 C6505:无效的批注: MustCheck 属性不可用于 void 类型的值 |
C6506 |
警告 C6506:无效的批注: |
C6507 |
警告 C6507:批注冲突: 后置条件中 Deref=0 处的 Null 属性必须是前置条件中 Null 属性的一个子集 |
C6508 |
警告 C6508:无效的批注: 不允许对 const 值执行写访问 |
C6509 |
警告 C6509:无效的批注: 不能从前置条件引用“return” |
C6510 |
警告 C6510:无效的批注: NullTerminated 属性只能用于指针值或数组类型值 |
C6511 |
警告 C6511:无效的批注: MustCheck 属性必须为 Yes 或 No |
C6512 |
警告 C6512:无效的批注: 如果 Valid 属性为 No,Null 属性必须为 Maybe |
C6513 |
警告 C6513:无效的批注: ElementSizeConst 需要额外的大小属性 |
C6514 |
警告 C6514:无效的批注: |
C6515 |
警告 C6515:无效的批注: |
C6516 |
警告 C6516:无效的批注: 没有为 |
C6517 |
警告 C6517:批注冲突: 不能在不可读的缓冲区上指定 ValidElementsConst 和 ValidBytesConst |
C6518 |
警告 C6518:批注冲突: 不能在不可写的缓冲区上指定 WriteableElementsConst 和 WriteableBytesConst |
C6521 |
警告 C6521:大小规格无效: * 运算符只能用于指针类型 |
C6522 |
警告 C6522:大小规格无效: 表达式必须为整型 |
C6523 |
警告 C6523:大小规格无效: 未找到参数 |
C6525 |
警告 C6525: 大小规格无效: 属性值可能无效 |
C6526 |
警告 C6526:大小规格无效: 表达式必须为数组类型或指针类型 |
C6530 |
警告 6530:无法识别的格式字符串样式 |
C6535 |
警告 C6535:缓冲区的大小不能为 |