Задать вопрос
@xecoder

Vector обнуляется при выходе из функции?

Добрый день. Столкнулся с проблемой. Создаю вектор структур. В функции записываю туда значения, но при выходе из функции вектор пустой.
В функции всё нормально, записывает как надо.

В header.h
struct lines_param
{
	int zx;
	int zy;
};


В main.cpp

void line_to_vector(Mat image_source, vector<lines_param> line, int zx, int zy, short int trashold)
	{
               
		bool v_p = 0;
		short int prev_step = 0;

		while (v_p == 0)
		{
			//Записываем пиксель
			
			lines_param l;
			l.zx = zx;
			l.zy = zy;
			line.push_back(l);

			//Запуск поиска следующего хода
			short int result_step = step_juke(zx, zy, image_source, trashold, prev_step);
			switch (result_step)
			{
			case 1:
				prev_step = 1;
				zy = zy - 1;
				break;
			case 2:
				prev_step = 2;
				zx = zx + 1;
				break;
			case 3:
				prev_step = 3;
				zy = zy + 1;
				break;
			case 4:
				prev_step = 4;
				zx = zx - 1;
				break;
			/*case 5:
				zx = zx - 1;
				zy = zy - 1;
				break;
			case 6:
				zx = zx + 1;
				zy = zy - 1;
				break;
			case 7:
				zx = zx + 1;
				zy = zy + 1;
				break;
			case 8:
				zx = zx - 1;
				zy = zy + 1;
				break;*/
			case 0:

				v_p = 1;
				break;
			default:
				v_p = 1;
				break;
			}

			if (v_p == 1)
			{
				v_p = 0;
				break;
			}
			continue;
		}
	} 

int main()
{
vector<lines_param> line_1;
vector<lines_param> line_2;
void line_to_vector(image_source, line_1, zx, zy, trashold)
void line_to_vector(image_source, line_2, zx, zy, trashold)
system("pause") //Вот на этой паузе два вектора line_1 и line_2 пустые.
}
  • Вопрос задан
  • 397 просмотров
Подписаться 1 Оценить 4 комментария
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Передавайте вектор по ссылке. А на самом деле, ваш код отвратительно ужасен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы