Внутренний тип как аргумент шаблона

Стандарт ISO 98/03 (раздел 14.3.1), похоже, запрещает использование тип с внутренней связью в качестве параметра шаблона. (См. Пример ниже.) Стандарт C ++ 11 этого не делает. G ++ - используя старый стандарт - разрешает это. Я неправильно понимаю стандарт 03, или g ++ просто позволяет этому слайду ?

namespace
{
    struct hidden { };
}

template<typename T>
struct S
{
   T t;
};

int main()
{
    S<hidden> s;
    return 0;
}
6
задан John 3 November 2011 в 19:57
поделиться