Я попытался использовать неполный тип в вложенном спецификаторе имен следующим образом:
class A;
int b= A::c; // error: incomplete type ‘A’ used in nested name specifier
class A {
static const int c=5;
};
В рабочем документе N3797 № 3.4.3/1 ничего не говорится:
Название члена класса или пространства имен или перечислителя может быть передано после того, как оператор разрешения области (5.1), примененный к nested-name-specifier, который обозначает его класс, пространство имен или Перечисление
Итак, зависит ли эта реализация?