Ниже приведен код, который отлично работает для печати значений типа std::string
Как использовать зЬй :: копировать для печати пользователя определенного типа
std::vector<std::string> v;
v.push_back("this");
v.push_back("is");
v.push_back("a");
v.push_back("test");
std::copy(v.begin(),v.end(),std::ostream_iterator<std::string>(std::cout,","));
Но когда я пытаюсь напечатать определенный тип пользователя (а структура), код не компилируется:
struct Rec
{
int name;
int number;
int result;
};
int main()
{
Rec rec1 = {1,1,1};
Rec rec2 = {2,1,1};
Rec rec3 = {3,1,1};
Rec rec4 = {4,1,1};
Rec rec5 = {4,1,1};
std::vector<Rec> v;
record.push_back(rec1);
record.push_back(rec2);
record.push_back(rec3);
record.push_back(rec4);
record.push_back(rec5);
std::copy(v.begin(),v.end(),std::ostream_iterator<Rec>(std::cout,","));
return 1;
}
Что мне здесь не хватает?
Вы перегруженный 'оператора << 'для вашей структуры? –
Нет, я делаю это сейчас – user2256825
Да, нужно перегрузить ** ostream ** операторов. – ban