На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> operator [] , проблема с перегрузкой
    есть такая проблема: перегружаю оператор [] при обращении типа
    tt = obj[i]
    все работает правильно. а при
    obj[i] = tt;
    ничего на место не ложится :(( сам класс выглядит приблизительно так:
    class objectBrowser{
    .......
    private:
           std::vector<object> objects;
    public:
           operator [](UINT ID){ return objects[ID] };
    ......
    };


    как исправить ошибку??
      Укажи тип возвращаемого оператором значения. В твоем случае это лучше вего сделать так:

      class objectBrowser{
      .......
      private:
            typedef std::vector<object> container;
            container objects;
      public:
            container::value_type& operator [](UINT ID){ return objects[ID] };
      ......
      };
      Сообщение отредактировано: Flex_Ferrum -
        большое спасибо!!!!
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0181 ]   [ 15 queries used ]   [ Generated: 5.07.25, 19:55 GMT ]