不应在匿名命名空间中使用静态声明
4.8 ID_staticInAnonymousNamespace
匿名命名空间中的元素已具有内部链接性(internal linkage),不应再用 static 关键字限定。
示例:
namespace {
static int i = 0; // Non-compliant
static int foo() { // Non-compliant
return i++;
}
}
例中 static 关键字是多余的。
应改为:
namespace {
int i = 0; // Compliant
int foo() { // Compliant
return i++;
}
}
依据
ISO/IEC 14882:2011 3.5(4)
ISO/IEC 14882:2017 6.5(4)