このことを考慮:
template < typename VectorType >
void ff()
{
// This passes.
typedef typename VectorType::value_type VV;
typedef int VV::* MM;
// This FAILS!??
typedef int typename VectorType::value_type::* MMM;
}
2番目が失敗する理由と、1つのtypedefステートメントで目的のtypedefを取得する正しい方法は何ですか?
私のコンパイラは GCC-4.7.2 です。