テンプレート クラスのフレンド演算子
提供されたコードでは、
friend ostream& operator<<(ostream&, Pair<T,U>&);
ただし、コンパイラは、関数名に 括弧を追加して、テンプレート関数として宣言する必要があることを示すことを推奨します。正しい構文は次のとおりです。
friend ostream& operator<< <> (ostream&, Pair<T,U>&);
これは、
フレンド宣言を解析するときにコンパイラがテンプレート関数を確実に認識できるように、テンプレート関数宣言も、Pair クラス テンプレート定義の前に配置する必要があることに注意してください。正しいフレンド宣言とテンプレート関数宣言を使用して修正されたコード:
template <class T, class U> class Pair;
template <class T, class U>
ostream& operator<< <> (ostream&, Pair<T,U>&);
// Pair template class definition...
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3