+の右側を取り、そのリンクリストを左側のリストに連結するリンクリストの演算子オーバーロードを作成しようとしています。
クラス宣言:
List<T>& operator+(const List<T>& right);
方法:
template <typename T>
List<T>& List<T>::operator+(const List<T>& right){
List result(*this);
while(right->next != NULL){
result->push_back(right->data);
}
return list;
}
運転者:
mylist + mylist2; //both list objects already created.
エラーメッセージ:
Error: The operation "List<std::string>* + List<std::string>*" is illegal.
コンパイル時エラーが発生する理由がわかりません。私の論理は、右側のリストの各要素を取得し、左側のリストの後ろに単純にプッシュすることです。考え?