- 574 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 14:12:45.40 ]
- テンプレート関数xxxにfuncを渡すときには自動的にTとUが設定されるのに
テンプレートクラスyyyにfuncを渡すときには、自分でTとUを指定しなければなりません。 この違いはなんなのでしょうか? 環境は gcc version 4.6.1 です。 template<class T, class U> void xxx( T (*func)(U) ) { } template<class T, class U> class yyy { private: T (*f_)(U); public: yyy( T (*f)(U) ): f_(f){ } }; double func( int v ){ return (double)v*0.1; } int main( ) { xxx( func ); //yyy obj( &func ); //templateの型を指定しないとコンパイルエラー yyy<double,int> obj; return 0; }
|

|