У меня есть следующие структуры:
struct mtmFlix_t {
List usersList;
List seriesList;
};
struct User_t {
int age;
char* username;
MtmFlix mtmFlix;
};
Это typedefs в list.h:
typedef void* ListElement;
typedef ListElement(*CopyListElement)(ListElement);
typedef void(*FreeListElement)(ListElement);
Это typedefs в user.h и MtmFlix.h:
typedef struct User_t *User;
typedef struct mtmFlix_t* MtmFlix;
Я хотел бы использовать следующую функцию в mtmflixCreate, но я не могу понять, как привести UserCreate
и UserFree
к (*void)
?
List listCreate(CopyListElement copyElement, FreeListElement freeElement);
MtmFlix mtmFlixCreate()
{
MtmFlix newMtmFlix = malloc(sizeof(*newMtmFlix));
if (newMtmFlix == NULL) {
return NULL;
}
newMtmFlix->seriesList=listCreate(?????);
newMtmFlix->usersList=listCreate(?????);
}
В user.h отображаются следующие функции:
User UserCreate(MtmFlix mtmFlix, const char* username,int age);
Void UserFree(User user);