struct Hoge {
int a_;
typedef int a_type;
int a(){return a_;}
};

>>110
struct Hoge {
int a_;
typedef int a_type;
int a(){return a_;}
};
template<typename T> typename T::a_type aaaaaa(T t){return t.a(); }
int main(){
Hoge h;
h.a_ = 100;
cout << aaaaaa<Hoge>(h) << endl;
return 0;
}

いけるけど?