難しいですね…
つまり

//positionの値が同じ要素はsetに登録しない
bool same = (a->position == b->position);
if( same ) return false;

のところをどう書き直したら動くのでしょうか?
どうか教えて下さい
m(_ _)mこのとおり!