ストリーム挿入演算子をオーバーロードしようとしているので、std :: vectorをstd :: coutに出力できますが、構文に問題があります。ストリーム挿入演算子にテンプレートをオーバーロードする方法は?
これは私が試したものです:
template<typename T> std::ostream & operator<<(std::ostream &os, std::vector<T> &v)
{
std::copy(v.begin(), v.end(), std::ostream_iterator<T>(os, ', '));
return os;
};
そして、私はこのようにそれを使用したい:
std::vector<float> v(3, 1.f);
std::cout << v;
演算子オーバーロードのようなもののための正しい構文は何ですか?
私のために働きます... ''、' 'の代わりに明白な' '、' 'を除いて – Kos