На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Работа с вектором
    В программе:
    ExpandedWrap disabled
      vector<int> v1max, v2max;
      GetNum(v1, v2, v1max,  v2max);
      for (size_t i = 0; i < v1max.size(); i++)
      {
        out << setw(3) << v1max[i] << "  " << v2max[i]  << endl;
      }
    в функции GetNum передаю вектора v1 и v2, которые инициализированы, а после обработки этих векторов получаю вектора v1max и v2max. В функции вектора v1max и v2max создаются правильно (размер 5), но v1max.size() дает 0. Подскажите, пожалуйста, как правильно работать с векторами, чтобы можно было к ним обращаться после использования функции. Проект прикрепил.
    Прикреплённый файлПрикреплённый файлCppStudyCons.zip (2,47 Кбайт, скачиваний: 30)
      Код не смотрел, но есть подозрения, что вы эти векторы внутри и создаёте, а наружу ничего и не выдаётся, посему и ноль... Но код надо смотреть, конечно. :blush:
        Нет, векторы создаю извне функции, просто надо было в определении функции указать &v1max
          Тебе надо передать в функцию ссылку на вектор -
          ExpandedWrap disabled
            void GetNum(vector<int> v1, vector<int> v2, vector<int> &v1max, vector<int> &v2max)

          В твоем текущем коде передается копия v1max и v2max
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0208 ]   [ 18 queries used ]   [ Generated: 19.04.24, 03:59 GMT ]