у меня ошибочка вышла ... вот как выглядит код:
void foo1()
{
CvMat _h = cvMat(3, 3, CV_64F); // инициализация;
... работа с _h ...
foo3(& _h); // верный результат!
}
Теперь пытаюсь разделить код на 2 функции
void foo1()
{
CvMat _h;
foo2(& _h);
foo3(& _h); // ошибка!
}
void foo2(CvMat * _h)
{
* _h = cvMat(3, 3, CV_64F); // инициализация
... работа с _h ...
}
Вообщем на C# это выглядело бы так (без всяких указателей, мать их):
void foo1()
{
CvMat _h; // создаем объект
foo2(out _h); // передаем его в функцию, которая изменяет этот объект
foo3(_h); // измененный объект передаем сюда
}
void foo2(out CvMat _h)
{
_h = cvMat(3, 3, CV_64F); // инициализация
... работа с _h ...
}
Моя задача — это просто разделить имеющийся код одной функции на две функции