I
Ivan Sorokin
struct g
{
template <typename T>
struct z;
};
template <typename T>
struct x
{
typedef g y;
};
template <typename T>
struct x<T>::y::z
{
int b;
};
The code above is accepted by all major compilers. I wonder if this
code is correct. I haven't found any relevant information in the
standard.
Is this code correct? What is the general rule about how a name
qualifier in out of line class definition should be treated?
{
template <typename T>
struct z;
};
template <typename T>
struct x
{
typedef g y;
};
template <typename T>
struct x<T>::y::z
{
int b;
};
The code above is accepted by all major compilers. I wonder if this
code is correct. I haven't found any relevant information in the
standard.
Is this code correct? What is the general rule about how a name
qualifier in out of line class definition should be treated?