C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: STL pair  (Прочитано 2962 раз)
SilverFish
Участник
**

Сказали спасибо: +14/-6
Offline Offline

Сообщений: 789


« : 06 мая 2019, 10:26:32 »

Здравствуйте.
Попросили проект созданный в BCB6 перенести в BCB2007.
Подскажите, пожалуйста, как исправить для BCB2007 ошибку:
Код
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)'
В h файле объявление:
Код
typedef multimap<int, AnsiString> TMMint; 

В 2009-ом Билдере код нормально компилируется.
« Последнее редактирование: 23 мая 2019, 15:40:14 от volvo877 » Записан
SilverFish
Участник
**

Сказали спасибо: +14/-6
Offline Offline

Сообщений: 789


« Ответ #1 : 07 мая 2019, 11:46:57 »

Ошибка пропала после странного изминения:
Код
    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
}
« Последнее редактирование: 23 мая 2019, 15:40:33 от volvo877 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: