>>51
index operator +( const index & left, const index & right ) {
  index t = left;
  return (t += right );
}

でいいんじゃない?