*this = *this->mawari[index];
だとエラーはありませんでしたが
t = t->mawari[2];
と等価の働きはしませんでした
t = t->mawari[2];と同じ動きにはできないでしょうか