У меня очень большой код, поэтому я не могу опубликовать здесь весь свой код, может кто-нибудь объяснить, что может быть проблемой, если у меня ошибка incompatible pointer type
и дать мне несколько способов ее решения, заранее спасибо
просто небольшое уточнение: я работаю с указателями на функции
ptrLine createBasicLine(){
DECLARE_RESULT_ALLOCATE_AND_CHECK(ptrLine, Line);
result->callsHistory = listCreate(copyCall,destroyCall); <-here
result->messagesHistory = listCreate(copyMessage,destroyMessage); <-and here
result->linesFeature = NULL;
result->strNumber = NULL;
result->lastBill = 0;
result->lineType = MTM_REGULAR_LINE;
result->nCallTime = 0;
result->nMessages = 0;
result->rateForCalls = 0;
result->rateForMessage = 0;
return result;
}
copyCall, destroyCall - указатели на функции
/**
* Allocates a new List. The list starts empty.
*
* @param copyElement
* Function pointer to be used for copying elements into the list or when
* copying the list.
* @param freeElement
* Function pointer to be used for removing elements from the list
* @return
* NULL - if one of the parameters is NULL or allocations failed.
* A new List in case of success.
*/
List listCreate(CopyListElement copyElement, FreeListElement freeElement);
определения функций
ptrCall (*createCall)() = createNumberContainer;
void (*destroyCall)(ptrCall) = destroyNumberContainer;
ptrCall (*copyCall)(ptrCall) = copyNumberContainer;