2010-11-21 8 views
0
template <class T> 
class ListRemake 
{ 
    ... 
    friend ostream& operator << (ostream& out, const ListRemake& obj); 
}; 

template <class T> 
ostream& operator << (ostream& out, const ListRemake& obj) 
{ 
    for (int i = 0; i < obj.size; i++) 
     out << obj[i] << '\n'; 
    return out; 
} 

エラーC2955: 'ListRemake':テンプレートテンプレートの使用にテンプレート引数リストが必要です。エラーC2955: 'ListRemake':テンプレートテンプレートの使用にテンプレート引数リストが必要

答えて

0

私は理解してるかわからない

ostream& operator << (ostream& out, const ListRemake<T>& obj) 
+0

リンカーエラー:未解決のエラー:エラーエラーLNK2019:未解決の外部シンボル "class std :: basic_ostream "&__cdecl operator <<(class std :: basic_ostream >&、クラスListRemake const&) "(?? 6 @ YAAAV?$ basic_ostream @ DU?$ char_traits @ D @ std @@@ std @@ AAV01 @ ABV?$ ListRemake @ N @@ @Z)関数_mainで参照されました –

+0

@icecrime私はやったが、私は同じエラーが発生します。 –

+0

@cable:宣言と定義を別々のファイルで区切りますか?テンプレートでは動作しません。 – fredoverflow

0

ListRemakeがテンプレートなので、型として使用するにはインスタンス化する必要があります(<<演算子で何をしているのか)。

+0

ostream& operator << (ostream& out, const ListRemake& obj) 

を交換してください。何が間違っているのですか、私は何を変えるべきですか? –

関連する問題