Является ли следующая единица перевода C++ 11 хорошо сформированной?Декларация C++ 11 `:: T i`?
typedef int T;
::T i;
Если это так, похоже, не соответствует стандартной грамматике.
simple-type-specifier
должен соответствовать ::T
, но грамматика:
simple-type-specifier:
nested-name-specifier_opt type-name
и nested-name-specifier
может не совпадать ::
в одиночку, так simple-type-specifier
может не совпадать ::T
.
Является ли это стандартным дефектом?
Извините, если это неверно, но не ':: identifier' ссылается на (квалифицированный)' идентификатор' в глобальном пространстве имен? –
«' inest-name-specifier' не может совпадать с '::' "- так как вы уверены в этом, вы должны включить объяснение, почему оно не может совпадать в вашем вопросе. –
@ H2CO3 Вы правы, сэр! – nijansen