На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> Использование map , Как использовать структуру как ключ?
    При таком обьявлении структуры:
    CODE

    struct asd1
    {
    int m_a;
    int m_b;

    asd1( int a, int b) : m_a( a), m_b( b) {}
    bool operator < ( const asd1 &obj) const
    {
    if( m_a < obj.m_a || m_b < obj.m_b)
     return true;
    return false;
    }
    };

    У меня твой код работает, и не выдает "Error".
      QUOTE

      bool operator < ( const asd1 &obj) const
      {
      if( m_a < obj.m_a || m_b < obj.m_b)
      return true;
      return false;
      }


      Такой оператор< никуда не годиться. C помощью него например (2,1)<(1,2); (1,2)<(2,1).

      Обычно он выглядит так:

      QUOTE

      bool operator < ( const asd1 &obj) const
      {
      return  (m_a = obj.m_a ? m_b < obj.m_b : m_a < obj.m_a )
      }

        да...признаю! твой будет правильней! используемый мной работал только на положительных числах. А работал он только из-за специфики работы алгоритма сортировки map. rolleyes.gif
        Сообщение отредактировано: AlexSm -
          Да я тоже дошел до такого <. Он должен быть обнозначным при перемене параметров местами.

          Сообщения были разделены в тему "Помощь в курсовой"
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:
          Страницы: (3) 1 2 [3]  все


          Рейтинг@Mail.ru
          [ Script execution time: 0,0300 ]   [ 16 queries used ]   [ Generated: 7.07.25, 18:47 GMT ]