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

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
#1

Не удаётся создать безымянный объект типа vector моего типа - C++

01.08.2011, 18:59. Просмотров 848. Ответов 5
Метки нет (Все метки)

Собсно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <vector>
using namespace std;
 
 
//Вот мой австорский тип 
struct kletka {
 int i, j;
 kletka(int x, int y):i(x), j(y) {};
};
 
 
int main() {
 
 //Тут всё нормально
 vector <int> (7);
 
 //Вот переменная моего авторского типа
 kletka kl (4, 5);
 
 //Вот создаём безымянный вектор элементов типа "kletka" и кладём туда элемент kl
 //Ругань!
 //а это ведь идентично vector <int> (7);!
 vector <kletka> (kl);
 
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2011, 18:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не удаётся создать безымянный объект типа vector моего типа (C++):

Почему объект типа std::vector не читается из потока? - C++
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;fstream&gt; using namespace std; int main () {

Создать указатель, который сможет указывать объект любого типа. - C++
Привет всем, я в програмировании ни чего не смыслю поэтому обращаюсь к вам, помогите составить программу, желательно для Visual studio 10....

STL. Создать объект-контейнер stack и заполнить его данными типа double - C++
Задание: 1. Создать объект-контейнер и заполнить его данными, тип которых определяется вариантом задания. 2. Посмотреть контейнер. 3....

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? - C++
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так. Имеется двумерный вектор. Размера .. Нужно его передать в...

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа - C++
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать метод возвращающий указатель на нужное...

интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект - C++
Привет всем. Необходимо реализовать интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект. Не...

5
Kastaneda
Форумчанин
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,317
Записей в блоге: 2
Завершенные тесты: 1
01.08.2011, 19:18 #2
Цитата Сообщение от kravam Посмотреть сообщение
//Вот создаём безымянный вектор элементов типа "kletka" и кладём туда элемент kl
Нет, конструктор такого вида резервирует размер вектора.
C++
1
vector <int> (7);//создаем вектор, котрый содержит 7 элементов, типа int
а тут, сам понимаешь, не понять что:
C++
1
vector <kletka> (kl);
Кстати, зачем понадобилось создавать безымянный вектор?
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
01.08.2011, 19:19 #3
delete
0
Kastaneda
Форумчанин
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,317
Записей в блоге: 2
Завершенные тесты: 1
01.08.2011, 19:21 #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
vector <kletka> (kl);
а тут, сам понимаешь, не понять что:
поправочка:
А тут ты создаешь не безымянный вектор, а вектор с именем kl (скобки игнорируются), поэтому и ругань)
kravam, ты ошибки компилятора читаешь?
1
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
01.08.2011, 19:41  [ТС] #5
Там по-английски, да я даже если бы и перевёл всё равно ничё не понял бы.
Короче я привык, что pair <int, int> (1, 2) создаётся объекут типа pair с first==1 second==2
Думал с вектором проканает, не проканало.

А безымянный вектор нужен мне потому, что у меня вектор векторов
C++
1
vector < vector <kletka> > osn__vec;
Я заполняю его в цикле, не присваивать же каждому элементу имя! Но придётся, буду так:
C++
1
2
3
   vector <kletka> temp;
   temp.push_back (kletka(4, 5));
   osn__vec.push_back (temp);
0
LosAngeles
Заблокирован
01.08.2011, 19:53 #6
это называется вектор переданный в качестве аргумента шаблона, а не безымяный вектор)

Добавлено через 9 минут
а "безымянный" вектор наверно так создаётся vector<лдуелф>::vector(kl);
0
01.08.2011, 19:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2011, 19:53
Привет! Вот еще темы с ответами:

Создать объект типа "связаный двунаправленный список", с перегруженными унарными операциями - C++
Помогите, пожалуйста, с задачей! Создать объект типа &quot;связаный двунаправленный список&quot;, с перегруженными унарными операциями ++,...

Создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар - C++
Здравствуйте. Необходимо создать бинарное дерево, по правой ветке - переменные типа инт, по левой - 2 переменные типа чар. ругается в...

Вывод вектора типа vector<string> - C++
Имеется следующий код, который разделяет строку на отдельные слова и помещает их в вектор, возникла проблема с выводом вектора, подскажите...

Динамические массивы типа vector и array - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;array&gt; #include &lt;string&gt; using namespace std; int main() { const int...


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

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

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