Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > C/C++: Общие вопросы > Работа с вектором |
Автор: tumanovalex 20.02.22, 13:19 |
В программе: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> в функции GetNum передаю вектора v1 и v2, которые инициализированы, а после обработки этих векторов получаю вектора v1max и v2max. В функции вектора v1max и v2max создаются правильно (размер 5), но v1max.size() дает 0. Подскажите, пожалуйста, как правильно работать с векторами, чтобы можно было к ним обращаться после использования функции. Проект прикрепил.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; } CppStudyCons.zip (, : 31) |
Автор: Славян 20.02.22, 14:08 |
Код не смотрел, но есть подозрения, что вы эти векторы внутри и создаёте, а наружу ничего и не выдаётся, посему и ноль... Но код надо смотреть, конечно. |
Автор: tumanovalex 20.02.22, 14:20 |
Нет, векторы создаю извне функции, просто надо было в определении функции указать &v1max |
Автор: popsa 28.02.22, 08:53 |
Тебе надо передать в функцию ссылку на вектор - <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> void GetNum(vector<int> v1, vector<int> v2, vector<int> &v1max, vector<int> &v2max) В твоем текущем коде передается копия v1max и v2max |