类型名称不应与对象或函数名称相同
6.1.7 ID_duplicatedName
不同种类或用途的代码元素具有相同的名称不利于阅读和维护。
即使在同一作用域中,语言也允许类型和对象或函数重名,但在实际代码中应有所区分。
示例:
struct A {
....
};
enum {
A, B, C // Non-compliant
};
size_t x = sizeof(A); // Which ‘A’?
例中结构体名称 A 与枚举项 A 重名,sizeof(A) 的意义是非常令人困惑的。
相关
参考
MISRA C++ 2008 2-10-6