¿Está bien especificar un ámbito de clase de C ++ duplicado? [duplicar]

Posible duplicado:
¿Por qué el compilador soporta las calificaciones de alcance redundante, y es legal?

No esperaría esto para compilar pero lo hace. ¿Podría ser esto un error de compilación, o tiene algún significado correcto?

$ g++ -c scopes.cpp
$ cat scopes.cpp
class Log {
public:
    Log() { }
    static void fn() { }
};

void test() {
    Log::Log::Log::Log::Log::Log::fn();
}

$ g++ --version
g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

Respuestas a la pregunta(1)

Su respuesta a la pregunta