#include<iostream>

template<typename T>
class first
{
typedef T* pointer;
};

template<typename T>
class second
{
typename first<T>::pointer p;
};

int main()
{
second<int> i;

i.p; // error!

}

fixお願いします。