Вам придется создать перегруженную версию operator<<
для std::cout
.Это будет выглядеть примерно так:
ostream& operator<<(ostream& out, const vector<triangle>& triangles);
и в конце функции вы просто делаете return out;
, чтобы вернуть std::ostream
объект out
, который был передан в качестве первогоаргумент (в вашем случае это будет std::cout
).
Другими словами, когда вы делаете
MyFoo object;
std::cout << object;
, это "синтаксический сахар" для следующего вызова функции:
MyFoo object;
operator<<(std::cout, object);
и вызовет версию operator<<
, которая будет выглядеть следующим образом:
ostream& operator<<(ostream& out, const MyFoo& my_object);
Если указанная выше функция не была определена, то вы получите сообщение об ошибке, как в настоящий момент.