2013-09-02 4 views
-5

в OpenCV, как я могу передатьPass вектор <вектор <Point>> по ссылке

vector<vector<Point> > v 

По refence к функции.

Я проверил это и не работает:

vector<vector<Point> > &v 
+5

Покажите нам полный код, который не удался. – 0x499602D2

+1

Это должно работать, предполагая, что вторым фрагментом кода является параметр функции. Не могли бы вы отправить код, который вы попробовали, и сообщение об ошибке (или описать проблему, если это был сбой выполнения)? –

+0

Как он работает? Если вы получаете ошибку компиляции, включите текст * точной ошибки в свой вопрос. Если это ошибка во время выполнения, что происходит при выполнении вашей программы? Показать немного больше кода (в идеале, полную программу) тоже будет большой помощью. – simonc

ответ

1

Объявить функцию взять ссылку:

void f(vector<vector<Point> > &v); 

и назовем его с объектом правильного типа:

vector<vector<Point> > v; 
f(v); 

Функция получит ссылку на этот объект.

4

Если функция взять ссылку, его прототип должен быть чем-то вроде:

void func(vector<vector<Point> > &v); 

Тогда вы просто должны передать свой вектор этой функции:

vector<vector<Point> > v; // Create your object 
func(v);     // Pass it to your function 

Процесс прохождения аргумента по ссылке объясняется здесь: http://www.learncpp.com/cpp-tutorial/73-passing-arguments-by-reference/

Смежные вопросы