☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

被返回的表达式应与函数的返回类型一致

8.32 ID_returnOdd
目录 › next › previous

为了提高可读性并规避意料之外的错误,应避免隐式转换被返回的表达式。

不应出现下列情况:

  • 返回类型为 bool,却返回了非 true 非 false、非 0 非 1 的常量
  • 返回类型为指针,却返回了非 0、非 NULL、非 nullptr 的常量
  • 返回类型为整数,却返回了 NULL、true、false 等常量

示例:

bool foo() { return NULL; }   // Non-compliant
long bar() { return false; }  // Non-compliant
int* baz() { return '\0'; }   // Non-compliant

这种问题可能是在维护过程中产生的,也可能意味着逻辑错误,需谨慎对待。

参考

MISRA C++ 2008 4-10-1
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.