![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
volatile, спасибо,не заметила:)
Добавлено через 13 минут и 23 секунды volatile, кое что исправила, но ошибки, вернее одна ошибка остается. Сильно не смейтесь, эта тема для меня совершенно новая, посмотрите код, плиз:
В последней строчке возникает ошибка: [bcc32 Error] SparseArray.cpp(62): E2277 Lvalue required |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
В С (да и в С++) присваивать массивы нельзя. Заверните ваш массив в структуру (так же, как для KeyType) - структуры присваивать можно.
Добавлено через 1 минуту и 8 секунд PS. Переменные key и data лучше сделать локальными в функции btnInsertClick - глобальные переменные зло (особенно когда они не нужны |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
xvr, спасибо!
У меня была мысль это сделать, но выше сказали, что без надобности так делать.... Сейчас попробую Добавлено через 3 минуты и 45 секунд xvr, мне еще предложили оформить data как vector, но почему то при объявлении типа возникает ошибка, что то не нравится в синтаксисе, пишет, что не хватает запятой вот так делала:
|
|||
|
||||
| Guinness |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
||||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
Guinness, у меня vector не получилось использовать, посмотрите выше сообщение
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Если размер данных может меняться в процессе работы, то vector действительно будет лучше. Если же меняться не может, то будет наоборот - хуже. За счет накладных расходов на сам vector В принципе все правильно. Возможно Builder старый с не совсем полной stl |
|||
|
||||
| Guinness |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
||||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
xvr, Билдер вроде не старый, не помню как правильно пишется, ну что там после BDS вышло?
Guinness, всё равно ругается,говорит что нет вектора в этом классе |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
xvr, вот какая версия у меня "Embarcadero® C++Builder® XE3 Version 17.0.4625.53395 ", просто среда на работе,а вечером я из дома писала, дома нет этого
исходник.... да собственно я скопировала Ваш текст и пыталась вместо структуры поставить тип vector
Пишет, что: [bcc32 Error] SparseArray.cpp(23): E2257 , expected на строчке typedef vector <char> Data_type;, ну и соответственно дальше ему не нравится объявление переменной data и пошло-поехало... |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Aline, вверху
|
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
volatile, спасибо! Программа запустилась
Надо теперь реализовать еще поиск и удаление элемента. Я так понимаю, если надо обновить данные, то необходимо удалить элемент с этим ключом,а потом добавить новый, с новыми данными? И еще вывести на экран,что там в этом массиве хранится Это сообщение отредактировал(а) Aline - 7.6.2013, 09:52 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Для поиска у map есть методы find или count + обычная индексация. Для удаления - erase
Нет, достаточно просто присвоить новые данные по старому ключу (как в массив - через индексацию) Для этого есть итератор (map<...>::iterator) и методы map'а begin() и end() |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
xvr, спасибо огромное! Буду юзать!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |