In C ++ 03, this cannot be done; C ++ 0x will raise this limitation.
C ++ 03, Β§14.3.1 / 2:
A local type, a type without a binding, an unnamed type, or a type made up of any of these types should not be used as a template argument for a template type parameter.
source
share