0

次のコードでは、コンパイラは 2 行目にエラーを表示していますが、テンプレート クラスを使用せず、V を明示的に定義している場合は正常に動作します。

template <class T,template <class T> class V>
void struct inp<T, V >::input(ifstream& in, V<T> lst)
4

1 に答える 1

2

テンプレート宣言に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)
于 2013-09-05T19:42:26.923 に答える