テンプレートは、いったん宣言するとほかのすべての関数と同様に使用することができます。テンプレートの使用は、そのテンプレートの命名と関数引数の提供で構成されます。コンパイラは、テンプレート型引数を、関数引数の型から推測します。たとえば、以前に宣言されたテンプレートを次のように使用できます。
double twicedouble( double item ) { return twice( item ); } |
テンプレート引数が関数の引数型から推測できない場合、その関数が呼び出される場所にその引数を指定する必要があります。たとえば、次のようにします。
template<class T> T func(); // no function arguments int k = func<int>(); // template argument supplied explicitly |