У меня есть function1
, где я каждый раз выделяю массив с определенным количеством байтов.
Когда я использую printf
, я вижу, что мои данные загружаются в этот массив.
function1 (other arguments, CvPoint2D32f* array1)
Тогда есть function2
, в котором я вызываю function1
и присваиваю данные array1 другой переменной (array2).
function2(other stuff, CvPoint2D32f* array2)
Когда я использую printf
, я вижучто я не могу получить доступ к своим данным.Программа печатает 0.000 ..
function2
, вызываемая моей основной программой, в которой я назначаю данные третьей переменной ...
Я ищу и ищу, но не могу найти то, чтонеправильно.
Недостаточно передать указатель?
Помогите, если я не был достаточно конкретен, спросите меня:
function1(IplImage* grey, IplImage* image, CvPoint2D32f *array1){
int array_counter = cvFindContours(grey, storage_color, &colorcontoursizeof(CvContour),
CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));
array1 = (CvPoint2D32f*)malloc(array_counter*sizeof(CvPoint2D32f))
if (array_counter == 0){
printf("Error allocating memory or Just a colour missing!!!\n\n\n");
free(Man);
}
cvReleaseMemStorage(&storage_color); // Releasing memory.
free(Man);
return array_counter;
}
int function2(IplImage* image, CvPoint2D32f *array2, other stuff){
...other stuff...
// Find the contours for the different colors.
r_counter = function1(image1, image2, array2);
return 0;
}
РЕДАКТИРОВАТЬ =======================================
Я пытался сделать это перед публикацией здесь, но здесья получаю проблему.
Я получаю сообщение об ошибке при компиляции в строке, где я загружаю данные в массив1 о неклассовом типе CvPoint2D32f.
Это то, что я делаю в этих строках, гдеЯ получаю сообщение об ошибке:
array1[cnt].x = (tpt1.x + tpt2.x)/2;
array1[cnt].y = (tpt1.y + tpt2.y)/2;
2-е РЕДАКТИРОВАНИЕ =========================
оба ответа помоглии были правы.Спасибо всем!Проблема решена.Я использовал двойные указатели на обе функции, чтобы экспортировать данные из function1 в function2 и из function2 в основную программу.Я использовал некоторые временные переменные, которые очень помогли.Это было менее запутанным.