Я пытаюсь перегрузить оператор вставки потока, поэтому я могу напечатать 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;
Каков правильный синтаксис для такой перегрузки операторов?