Шаблоны и анонимный юнион
От: folk Россия  
Дата: 29.01.04 04:05
Оценка:
Есть шаблон, который должен параметризироваться только типами с тривиальными ctor, dtor, copy ctor, copy ass op.
Как это проверить я вроде придумал, но не понимаю каким образом оно работает

template <typename T>
class Foo
{
   typedef union {T t;} T_shall_be_trivial;    
 public:   
    ...
};


Мне ясно, что члены анонимного юниона являются членами области, в которой юнион объявлен, но ведь этот анонимный юнион не является членом класса Foo, и поскольку псевдоним T_shall_be_trivial в дальнейшем нигде не используется, то и не должно происходить инстанциирования типа юниона.
Т.е. непонятно, почему проверка — typedef union {T t;} T_shall_be_trivial;
срабатывает в отличие от — union T_shall_be_trivial {T t;};

Разъясните, плиз.
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.