Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pun4er
6 / 6 / 1
Регистрация: 06.10.2010
Сообщений: 122
#1

Не могу вывести вектор - C++

11.01.2012, 10:42. Просмотров 517. Ответов 1
Метки нет (Все метки)

Добрый день. Подскажите пожалуйста в чем дело. Есть массив класса. Пихаю его в вектор. Не ругается. Пытаюсь вывести - ошибка "error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "Book" (или приемлемое преобразование отсутствует)"
C++
1
2
3
4
5
6
7
8
9
10
11
12
Book std[3]=
    {
        Book("Pushkin","Stihi",1998,"Moskva",350),
        Book("Esenin","Rasskazi",1999,"Moskva",250.50),
        Book("Tolstoy","Voina i mir",2002,"Piter",450)
    };
    for(i=0;i<3;i++)
    {
        v.push_back(std[i]);
    }
    for(i=0;i<v.size();i++)
        cout<<v[i];//здесь ругается
Добавлено через 2 минуты
разобрался =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 10:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу вывести вектор (C++):

Не могу объявить вектор в классе - C++
Здравствуйте. Изучаю С++, пишу игру &quot;Покер&quot;.) Только начал и сразу столкнулся с проблемой. При объявлении массива стрингов с помощью...

Как рандомно заполнить вектор? Не могу найти ошибку - C++
Вот код, в консоли выдаёт &quot;Не является внутренней или внешней командой&quot; #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; ...

Не могу понять в каком месте ошибка. Описание класса вектор. - C++
Тип не совпадает, выдает ошибку в 137 строке, возможно неверно описан конструктор.. #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include...

Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов - C++
Привет! Задача следующая. Нужно реализовать класс &quot;вектор&quot; с конструкторами, которые позволяют создать нулевой вектор и вектор с...

Как вывести вектор списков? - C++
Нужно вывести вектор в котором хранятся списки, а в списках сами элементы #include &lt;vector&gt; #include &lt;list&gt; vector&lt;list&lt;Edge...

Вывести вектор через messagebox - C++
как мне вывести вектор через messagebox?(( часа 3 рыл интернет, пытался понять. Или не через messagebox можно как-то.. в MFC работаю Я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
11.01.2012, 10:46 #2
Вы пытаетесь вывести не вектор, а экземпляр класса Book.
Вот его-то компилятор вывести и не может.
Напишите оператор << для вывода экземпляра класса книги.

C++
1
2
3
4
std::ostream &operator<<(std::stream &stream, const Book &book) {
  stream << book.getAuthor() << ", " << book.getName(); // ну или как-там у вас getter'ы называются.
  return stream;
}
После этого можете хоть копированием выводить.
C++
1
std::copy(v.begin(), v.end(), std::ostream_iterator<Book>(std::cout, "\n"));
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 10:46
Привет! Вот еще темы с ответами:

Вывести вектор, начиная с последнего элемента - C++
у меня есть вектор целых чисел как мне вывести вектор начиная с последнего элемента while(x.empty()){ printf(&quot;d%&quot;, x.end()); ...

Функция: заполнить вектор простыми числами и вывести их на экран - C++
Задача: Написать функцию, которая заполняет вектор простыми числами и выводит их на экран. Проблема: Не добавляется &quot;2&quot; в начало...

Вектор. Вывести в стек индексы двух минимальных значений - C++
Здравствуйте, есть вот такой код #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;stack&gt; #include &lt;ctime&gt; using namespace...

Как вывести на экран весь вектор? Пожалуйста, подскажите - C++
Создал функцию для добавление в вектор (даже не уверен в правильности) void Homeworklist::Add(Homework h) { if (a&gt;=1) cout &lt;&lt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru