次のコードでは、コンパイラは 2 行目にエラーを表示していますが、テンプレート クラスを使用せず、V を明示的に定義している場合は正常に動作します。
template <class T,template <class T> class V>
void struct inp<T, V >::input(ifstream& in, V<T> lst)
次のコードでは、コンパイラは 2 行目にエラーを表示していますが、テンプレート クラスを使用せず、V を明示的に定義している場合は正常に動作します。
template <class T,template <class T> class V>
void struct inp<T, V >::input(ifstream& in, V<T> lst)
テンプレート宣言にvoid
と の両方を含めることはできません。struct
テンプレート化された関数またはテンプレート化されたクラスについて話しているのですか? そして、おそらくそれへのconst
参照ifstream
と、少なくともテンプレート化されたクラス テンプレート パラメーターへの非 const 参照が必要です。次のいずれかのクラスが必要です。
template <class T,template <class T> class V>
struct inp<T, V >::input(const ifstream& in, V<T>& lst)
または関数:
template <class T,template <class T> class V>
void inp<T, V >::input(const ifstream& in, V<T>& lst)