あれ、何故か出来ない。

typedef int (&foo(...))[3] ;
typedef int (&bar(int))[3] ;

//コンパイルエラー
//typedef boost::function_traits<foo>::result_type ret ;

typedef boost::function_traits<bar>::result_type ret ;
std::cout << typeid(ret).name() << std::endl ; // int [3]
typedef boost::extent< ret > size ;
std::cout << size::value << std::endl ; // なぜか0