У меня есть заголовок функции в библиотеке, который выглядит следующим образом:
void deepCopy(CList ** clone, CList * cl, void * (* data_clone) (void * d));
У меня огромные трудности при правильной передаче функции deep_clone.
Это то, что я сейчас пытаюсь
CList *ys2 = &ys;
void (*dc) (void *) = &data_clone;
void (**dc2) (void *) = &dc;
deepCopy(&ys2, &xs, dc2);
Вывод gcc:
testclist.c: в функции «test_deep_copy»:
testclist.c: 504: предупреждение: передача аргумента 3 из 'deepCopy' из несовместимого типа указателя
Я попробовал cdecl.org в моем объявлении dc2, и он говорит, что это то, что, как я полагаю, будет правильным.
Любая помощь очень ценится; спасибо.