En C ++, el operador ::se utiliza para acceder a clases, funciones y variables en un espacio de nombres o clase.
Si la especificación de lenguaje utilizada en .lugar de ::en esos casos también es como cuando se accede a las variables / métodos de instancia de un objeto, ¿eso causaría posibles ambigüedades que no están presentes ::?
Dado que C ++ no permite nombres de variables que también son un nombre de tipo, no puedo pensar en un caso en el que eso pueda suceder.
Aclaración: no estoy preguntando por qué ::se eligió ., sino si también podría haber funcionado.