>>81
  std::cout << pairs[0] << "\n";
// std::copy(pairs.begin(), pairs.end(), std::ostream_iterator<Pairs>(std::cout, "\n"));

上がオーバーロード有効で下がオーバーロード無効なのが問題なので、
「名前のルックアップが出来ない」わけじゃないと思う。