【初心者歓迎】C/C++室 Ver.64【環境依存OK】
at TECH
523:515
09/03/24 12:20:00
>>521
レスありがとうございます。
>printf("%d ", (**iter)
なんでうまくいかないんだろうと4時間くらい混乱してました。
List::iterator()でnewしてポインタを返す仕様でした……(もちろん管理してdeleteもする)。
とりあえず一つ前のソースコードは(**iter)で動きました! どうもです。
ポインタ渡してるんだから*が一個多く必要なのは当然。初歩的なミスだったとは恥ずかしい。
初めて演算子のオーバーロードなんてやるからそれが間違ってるのかと思い込んでました。
List::iterator()は、
ListIterator<Type> iterator(){
return ListIterator<Type>(this);
}
現在のソースコードはポインタじゃなくてこんな感じにしてみました。
>多態はやめたほうが……
Iteratorクラスを作って継承するのはやめる方向で書き直してみます。どうせ自分しか使わないですし。
アドバイスありがとうございました。
スレ汚し失礼しました。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5103日前に更新/258 KB
担当:undef