これってなんでだめなんでしょうか?

template<typename T> T::a_type aaaaaa(T t){return t.a(); }