I think you could, grammatically, but this is forbidden by additional restrictions:
[Tempo] / 1
A template defines a family of classes or functions or an alias for a type family.
Declaration Template:
template <List Template Announcement>
- :
-
template-parameter-list , -
[...]
( ) , .
(.. - ) [dcl.dcl]/1, , decl-specifier-seq [dcl.type]/1, , oO , :
( () )
declaration
block-declaration
simple-declaration
decl-specifier-seqopt init-declarator-listopt ;
type-secifier init-declarator-listopt ;
class-specifier init-declarator-listopt ;
class-head { member-specificationopt } init-declarator-listopt ;
class-head { member-specificationopt } init-declarator ;
class-head { member-specificationopt } declarator initializeropt ;
class-head { member-specificationopt } ptr-declarator ;
class-head { member-specificationopt } noptr-declarator ;
class-head { member-specificationopt } declarator-id attribute-specifier-seqopt ;
class-head { member-specificationopt } ...opt id-expression ;
, , struct something { int d; } somethingType;
, .