Since C++11, declaring a variable, class, or function in an unnamed namespace gives it internal linkage. Similarly, marking a
declaration static also gives it internal linkage. Because both mechanisms have the same effect (although static has a
narrower application) using them together is clearly redundant.
Noncompliant code example
namespace {
static int i = 3; // Noncompliant
}
Compliant solution
namespace {
int i = 3;
}