Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147

Оператор pair STL

05.05.2019, 09:41. Показов 1535. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Попросили проект созданный в BCB6 перенести в BCB2007.
Подскажите, пожалуйста, как исправить для BCB2007 ошибку:
C++
1
2
3
4
5
6
7
TMMint Sort;
    for(int i=1;i<StringGrid2->RowCount;i++)
    {
        Sort.insert(TMMint::value_type(StrToInt(StringGrid2->Cells[3][i]),StringGrid2->Cells[1][i]));//ошибка
    }
//Ошибка:
//Could not find a match for 'pair<const int,AnsiString>::pair(AnsiString,AnsiString)'
Добавлено через 6 минут
В h файле объявление:
typedef multimap<int, AnsiString> TMMint;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2019, 09:41
Ответы с готовыми решениями:

STL, deque, pair
Здравствуйте, помогите пожалуйста разобраться. Есть такая очередь: deque&lt;pair&lt;int, timeval&gt; &gt; last_query Как...

Реализовать пользовательский класс Pair (упрощённый аналог std::pair)
Здравствуйте. Проблема с выводом. В приложенном задании, требуется сделать вывод как в примере. Мой вывод основан на вводе количества...

Как в vector<pair <класс, int> > добавлять свой объект в качестве первого элемента pair?
#include&lt;iostream&gt; #include &quot;Employee.h&quot; #include&lt;string&gt; #include&lt;algorithm&gt; #include&lt;vector&gt; #include&lt;list&gt; #include &lt;map&gt; ...

16
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
05.05.2019, 09:51
Странно. В 2009-ом Билдере код нормально компилируется. В более новых - тоже (2007-го нет, чтобы проверить, но подобных косяков не припоминаю за ним...)
1
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
05.05.2019, 11:14  [ТС]
Спасибо. Моя гипотеза теперь, что не хватает какого-то апдейта...
Не могу найти где на сайте эмбаркадеро узнать какой самый последний был билд версии у BCB2007 со всеми фиксами и апдейтами.
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
06.05.2019, 19:44  [ТС]
Создала пустой проект в билдере 10.2. Добавила туда форму с этим кодом. При попытке откомпилировать куча ошибок и это правильно так как нет нужных инклюдов от других форм. Но среди списка ошибок и эта ошибка STL осталась. По идеи ее не должно быть в билдере 10.2? Может кто глянет прилагаемый архив с формой...
И так не работает тоже:
C++
1
Sort.insert(TMMint::value_type(static_cast<const int>(StrToInt(StringGrid2->Cells[3][i])),StringGrid2->Cells[1][i]));
Вложения
Тип файла: zip ULog.zip (10.1 Кб, 3 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
06.05.2019, 19:58
Нет среди ошибок той, вышеуказанной. Ни на XE8, ни на 10.2
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
06.05.2019, 20:12  [ТС]
Когда я прокручиваю мышкой список ошибок, то вижу ее внизу...
Миниатюры
Оператор pair STL  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
06.05.2019, 21:30
Не вижу (это 64-битный проект, 32-битный дает чуть-чуть другие ошибки, но по-прежнему там нет ничего про multimap):
Миниатюры
Оператор pair STL  
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
06.05.2019, 21:34  [ТС]
Она у меня в самом низу прокрутки. Завтра видео сниму.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
06.05.2019, 21:35
Я не сомневаюсь, что она у тебя есть. Я спрашиваю, почему у меня в таком случае ее нет НИГДЕ? Ни один из доступных мне Билдеров (а их у меня 6 версий) не дает этой ошибки. Как так?
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
06.05.2019, 21:39  [ТС]
А можно для чистоты эксперимента мне завтра выложить мой тестовый проект ?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33374 / 21499 / 8235
Регистрация: 22.10.2011
Сообщений: 36,894
Записей в блоге: 11
06.05.2019, 21:42
Ну, выкладывай
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
07.05.2019, 00:45
Такую ошибку удаётся получить (в bds2007 и XE8), если написать
C++
1
2
3
4
5
TMM Sort;
    for (int i = 1; i < StringGrid1->RowCount; i++)
    {
        Sort.insert(TMMint::value_type(StringGrid1->Cells[3][i], StringGrid1->Cells[6][i]));
    }
Но вот когда Sort имеет тип TMMint или когда первый параметр передаётся внутри StrToInt() - никак... Мистика.
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.05.2019, 09:27
Обычно используют std::make_pair<>(), а в данном случае можно использовать operator[] multimap-а .

Ну и ошибка в типах

typedef multimap<int, AnsiString> TMMint;

typedef multimap<int, String> TMMint;
1
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
07.05.2019, 12:29  [ТС]
Помогло, на мой взгляд, совсем не очевидное изменение кода которое было предложено volvo.
Ошибка пропала.
C++
1
2
3
4
5
6
TMMint Sort;
for(int i=1;i<StringGrid2->RowCount;i++)
{
  int value = StrToInt(StringGrid2->Cells[3][i]); // <---
  Sort.insert(TMMint::value_type(value, StringGrid2->Cells[1][i]));//Ok
}
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.05.2019, 13:22
Цитата Сообщение от silvalena Посмотреть сообщение
совсем не очевидное изменение кода которое было предложено volvo.
Как раз таки очень очевидное.
0
4 / 4 / 4
Регистрация: 20.03.2015
Сообщений: 147
07.05.2019, 13:36  [ТС]
Имелось в виду, что не догодалась бы так поменять равнозначный код.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.05.2019, 13:56
Он не равнозначный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2019, 13:56
Помогаю со студенческими работами здесь

STL std::set, std::pair, std::make_pair
Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы. Собственно перейдем к нашим баранам: есть...

оператор find в stl
Допустим у меня есть такой код: #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #include &lt;windows.h&gt; #include...

Как считать данные в vector<pair<int, pair<int, int>>> arr(m) ?
Здравствуйте! Помогите, как считать данные данные в массив такого типа? vector&lt;pair&lt;int, pair&lt;int, int&gt;&gt;&gt; arr(m) Пытался...

При попытке добавить оператор else, появляется оператор "Ожидался оператор"
Здравствуйте, помогите пожалуйста. У меня есть программа, которая решает квадратные уравнения. Но почему-то, когда я пытаюсь добавить...

Помогите с pair
Скажите пожалуйста как до этого &quot;куска&quot; кода &quot;прикрутить&quot; pair, чтобы переменная x, xx вернулись в main. Этот код позже планирую сделать...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru