4.4からのdecltypeでのICE
template < typename T > int f( const T &, const char * ); template < typename T > decltype( f( T(), "" ) ) g( const T &t ); void h() { g( 0 ); }
https://ideone.com/qkxJ1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47488
が死ぬ。どうやらdecltype中でstring literalsを使用するとマングリングがうまくいかんらしい…?
4.6ならnullptrがあるのでそれを使用するのがベスト