Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: переопределенный ввод
Форум на CrossPlatform.RU > Разработка > С\С++
voipp
значит пишу я переопределенный оператор ввода :
istream& operator >> (istream& s, CTable& t) {
  if ((t.width == 0) || (t.height == 0)) return s;
  for (unsigned i = 0; i < t.height; i++)
    for (unsigned j = 0; j < t.width; j++) {
      cout << endl << "Enter item[" << i << ", " << j << "] = ";
      s >> t.items[i][j];
    }
  if (s.peek() == '\n') s.ignore();
  return s;
};


в main я вызываю именно этот оператор а вслед за ним пишу оператор ввода уже стандартный(для заполнения целочисленной переменной).Переопределенный operator>> (istream& s, CTable& t) пропускается и ввод переходит на operator>>(int).Почему такое происходит?Икак от этого избавиться?
kwisp
Цитата(voipp @ 16.2.2010, 22:13) *
if ((t.width == 0) || (t.height == 0)) return s;

может поэтому
voipp
проблема оказалась в том что я забыл задать размер вектора на ненулевой
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.