- 484 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:09:40 ]
- >>483
enable_ifやdisable_ifは、関数のオーバーロード解決のルールをトリッキーに使っている。 やりたいことを実現する方法はいくつかある。 たとえばこんな方法。 //false以外、すなわちtrueの場合に呼ばれる template < bool isPod > struct Count_impl { static void do() {/* 1 */} } ; //特殊化、falseの時に呼ばれる template < > struct Count_impl<false> { static void do() {/* 2 */} } ; template < typename T > void count(T array[]) { Count_impl<boost::is_pod<T>::value>::do() ; }
|

|