以前の課題のシーケンス クラスからこのコードを取得しました。これをノード クラスを含むテンプレートに変換することになっています。私の他の関数はすべて正常に動作しているように見えますが、このオーバーロードされた演算子の表現またはセマンティクスに何か問題があるようです。これが私のコードです:
template <class sequence, class Item>
void operator =(const sequence source)
{
if (this == &source)
{
return;
}
list_clear(head_ptr);
many_nodes = 0;
list_copy(source.head_ptr, head_ptr, tail_ptr);
start();
for (node *ptr=source.head_ptr; ptr != source.cursor; ptr = ptr->link())
{
advance();
}
many_nodes = source.many_nodes;
}
これは私が得ているエラーです: 6\sequence4.template(152): error C2801: 'main_savitch_6B::operator =' must be a non-static member
行 152 は、関数の右中括弧です。
サイトで回答を検索し、いくつかの修正を試みましたが、どれもうまくいかないようでした.
みんなありがとう、私はすべての助けに感謝します!