#
An enumeration member of a class template may be defined outside the class template definition
.
[
Example
1
:
template
<
class
T
>
struct
A
{
enum
E
:
T;
}
;
template
<
class
T
>
enum
A
<
T
>
::
E
:
T
{
e1, e2
}
; A
<
int
>
::
E e
=
A
<
int
>
::
e1;
—
end example
]