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

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

Войти
Регистрация
Восстановить пароль
 
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
#1

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

01.08.2011, 18:59. Просмотров 808. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2011, 18:59     Не удаётся создать безымянный объект типа vector моего типа
Посмотрите здесь:

Создать указатель, который сможет указывать объект любого типа. C++
C++ Вывод вектора типа vector<string>
C++ STL. Создать объект-контейнер stack и заполнить его данными типа double
C++ Использование vector insert и своего типа данных
Динамические массивы типа vector и array C++
Массив объектов пользовательского типа в vector C++
Измените структуру CStash чтобы данные хранились в объекте типа vector<char> C++
Как записать координаты в vector типа PointF? C++
C++ Создать объект типа "связаный двунаправленный список", с перегруженными унарными операциями
C++ Как вывести vector своего типа?
C++ Почему объект типа std::vector не читается из потока?
C++ Реализовать функции обращающие порядок следования элементов в объекте типа vector<int>

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
01.08.2011, 19:18     Не удаётся создать безымянный объект типа vector моего типа #2
Цитата Сообщение от kravam Посмотреть сообщение
//Вот создаём безымянный вектор элементов типа "kletka" и кладём туда элемент kl
Нет, конструктор такого вида резервирует размер вектора.
C++
1
vector <int> (7);//создаем вектор, котрый содержит 7 элементов, типа int
а тут, сам понимаешь, не понять что:
C++
1
vector <kletka> (kl);
Кстати, зачем понадобилось создавать безымянный вектор?
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
01.08.2011, 19:19     Не удаётся создать безымянный объект типа vector моего типа #3
delete
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
01.08.2011, 19:21     Не удаётся создать безымянный объект типа vector моего типа #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
C++
1
vector <kletka> (kl);
а тут, сам понимаешь, не понять что:
поправочка:
А тут ты создаешь не безымянный вектор, а вектор с именем kl (скобки игнорируются), поэтому и ругань)
kravam, ты ошибки компилятора читаешь?
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,304
01.08.2011, 19:41  [ТС]     Не удаётся создать безымянный объект типа vector моего типа #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);
LosAngeles
Заблокирован
01.08.2011, 19:53     Не удаётся создать безымянный объект типа vector моего типа #6
это называется вектор переданный в качестве аргумента шаблона, а не безымяный вектор)

Добавлено через 9 минут
а "безымянный" вектор наверно так создаётся vector<лдуелф>::vector(kl);
Yandex
Объявления
01.08.2011, 19:53     Не удаётся создать безымянный объект типа vector моего типа
Ответ Создать тему
Опции темы

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