Re: C++ и указатели
От: stbzh  
Дата: 24.01.11 15:33
Оценка:
Здравствуйте, huntex, Вы писали:

H>Всем привет! Есть следующий РАБОЧИЙ код:


H>
H>void foo1()
H>{
H>   CvMat _h = cvMat(3, 3, CV_64F); // вызывается конструктор, а затем еще и конструктор копии
   
H>   ... работа с _h ... 
   
H>   foo3(*_h); // верный результат!
H>}
H>


H>Теперь пытаюсь разделить код на 2 функции


H>
H>void foo1()
H>{
H>   CvMat _h;
   
H>   foo2(& _h);
   
H>   foo3(*_h); // ошибка!
H>}

H>void foo2(CvMat * _h)
H>{
H>   * _h = cvMat(3, 3, CV_64F); // а здесь assignment - вызывается operator=
   
H>   ... работа с _h ...   
H>}
H>


Ищи разницу в реализациях конструктора копии и оператора пристваивания.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.