私はC++のテンプレートコードではとても新しいです。次の質問について私に教えてください。 クラスのメンバ関数を定義するために(非型パラメータのみを持つ)関数テンプレートを使用する場合は、そのクラスのテンプレートも定義する必要があります。言い換えれば、C++は、ユーザが、テンプレート化されていないクラス内のメンバ関数テンプレート(非型パラメータのみを持つ)を定義できるようにします。たとえば、非タイプのパラメータを持つ関数テンプレート
class foo{
template <int vecsize>
void bar(std::array<int, vecsize> vec);
};
ありがとうございます。
非テンプレートクラスのテンプレートのメンバーを持っていることは完全にOKであるの終わりにセミコロンを逃しています。テンプレートパラメータの種類は関係ありません。つまり、std :: vectorにはsizeパラメータがありません。 –
おそらく 'std :: array'を意味しましたか? –
Caleth
私の質問にお答えいただきありがとうございます。私はそれが意味をなされるように自分の投稿を更新しました。 – bin