質問

この質問への参照 StackoVerflow 529831 、これは提案されたアプローチの1つでした

template<typename Map> typename Map::const_iterator 
greatest_less(Map const& m, typename Map::key_type const& k) {
    //How to print K and Map m
    typename Map::const_iterator it = m.lower_bound(k);
    if(it != m.begin()) {
      return --it;
    }
    return m.end();
}

キーKとマップmの印刷に興味があります。これについてはどうでしょう。

役に立ちましたか?

解決

<<演算子を使用して、Map::key_typeMap::data_typeの両方のタイプにstruct fractionが定義されていることを確認します(コードがコンパイルされないため、そうでない場合はわかります)。

cout << k << endl;
for (typename Map::const_iterator it = m.begin(); it != m.end(); ++i) {
  cout << it->first << " -> " << it->second << endl;
}

e.g。あなたのfloat numeratorfloat denominatorと<=>のメンバーを持つ<=>の場合、

ostream& operator<<(ostream& os, const fraction& obj) {
   return os << obj.numerator << '/' << obj.denominator;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top