質問: " << t2 << "\n"; cout << "t2の値を変更しています\n"; cout << "新しい第1値の第1値:"; cin >> t2.first().first(); cout << "新しい第1値の第2値:"; cin >> t2.first().second(); cout << "新しい第2値の第1値:"; cin >> t2.first().first(); cout << "新しい第2値の第1値:"; cin >> t2.first().second(); if (!t2.ascending()) { cout << "第一値<第二値が成立しませんのでソートします。\n"; t2.sort(); // 第一値 < 第二値となるようにソート cout << "t2は" << t2 << "に変更されました。\n"; } _getch(); return 0; } ```
回答: 以下の部分でしょうか。 ``` (106行目付近)Twin< Twin > t1( Twin(36, 57), Twin(23, 48) ); ``` これは、「operator >」ではなくテンプレート引数の閉じカッコです。 ``` (読み替え)Twin> t1(Twin(36, 57), Twin(23, 48)); ``` ですね。 ただし、こう書くとコンパイラの言語規格の対応状況によっては「>>」の部分が まさに「operator >>」と誤って解釈される場合があるため、スペースを入れていると思われます。