Может ли внутренний класс шаблонного класса быть не шаблонным классом?

Я создаю шаблонный класс с внутренним служебным классом. Все специализации шаблона требуют одного и того же внутреннего класса:

template<...> class Outer {
    class Inner { };
};

Это дает мне Outer <...> :: Inner , но я хочу, чтобы все Inner были того же типа, что и если бы я просто написал:

class Inner { };
template <...> class Outer { };

или если бы Outer просто не был классом шаблона:

class Outer {
    class Inner { };
};

давая мне Outer :: Inner . Я бы хотел, чтобы Outer :: Inner работал для всех Outer <> , если это возможно (только по соображениям пространства имен / ясности). В противном случае, конечно, я могу просто переместить Внутренний наружу.

11
задан Ben Jackson 19 July 2011 в 21:45
поделиться