* Alex J. Dam: > This is usually only needed when, e. g., you take the address of a > constant: > > const int *x = &foo::X; Not quite. This is needed if you use the constant in a context which does not *require* an integral constant. However, GCC does not provide a diagnostics for this case (and the C++ spec does not require one).