コンパイル エラーのある次のソース コードがあります。私がやろうとしていることは明らかなので、返される型はテンプレートであり、オブジェクトnode<N>*
との競合を引き起こしているため、返される型は正しい型ではないと言って説明するつもりはありません。session*
エラーはこちらです。
linked_list_1.cpp|17|error: cannot convert 'node<session*>*' to 'session*' in assignment|
return_node
17 行目では、 の戻り値をに代入しますが、 の戻り値のsession*
型はreturn_node
( Node<N>*
)Node<Session*>*
ではなくN
( session*
) です。アクセサー関数をノード クラスに追加し、それを使用してデータ メンバーにアクセスします。
session* SESSION_COPY;
SESSION_COPY = LIST->return_node(0)->getData();
関数はではなく をreturn_node
返すためです。または、がテンプレート引数で置き換えられた場合:戻ります(ヘッダー ファイルを調べます) が、返されたポインターを変数に代入しようとします。エラーメッセージが非常に明確に言っているように。node<N>*
N
N
return_node
node<session*>*
session*