Он называется Поиск квалифицированного имени в C ++.
Это означает, что упоминаемое пространство имен слоя - это одно из глобального пространства имен, а не другое вложенное пространство имен с именем layer.
Для фанатов Standerdese:
$ 3,4,3 / 1
"На имя члена класса или пространства имен можно ссылаться после оператора разрешения области действия (5.1), применяемого к спецификатору вложенного имени, который назначает его класс или пространство имен. Во время поиска имени предшествующие оператору разрешения :: scope, имена объектов, функций и перечислителей игнорируются. Если найденное имя не является class-name (пункт 9) или namespace-name (7.3.1), программа некорректна. "