09/04/30 08:57:44
戻り値推論って有れば便利だけどさ、その程度の関数だったら、これでよくね
// 関数の文法は統一されるはずだと信じてる
template < typename T >
[] Square( T t ) -> decltype(t * t)
{ return t * t ; }
Boost.labmdaみたいな変態的なライブラリを使った変態的な型を返したい場合は、
重複はちょっと面倒だけど。
あと、動的に返す型が変わるような関数はどういう扱いになるの? コンパイルエラー?