В статье доктора Добба Переносной оператор typeof говорится
Но вы не можете использовать шаблон класса для извлечения типа из выражения, как вы можете использовать шаблоны функций или перегрузку. (Если выражение представляет собой имя с внешней связью, можно реализовать typeof с шаблонами классов, используя нетиповой параметр шаблона, но это не очень полезно.)
Верно ли выделенное жирным шрифтом предложение в скобках? И если да, то как можно использовать нетиповой параметр шаблона для поиска типа выражения с внешней связью?
template<T* val>
, это могло бы сработать. - person milleniumbug   schedule 25.12.2014template<typename T, T* V> struct<V> { typedef T type };
. - person qbt937   schedule 26.12.2014