-1
У меня есть небольшая проблема с языком C.Функциональный указатель с несколькими аргументами
Im tryin, чтобы сделать указатель на функцию с несколькими аргументами (structs и variable).
Мой прототип функции:
void db_insert(
struct DataBase *db,
struct auto_increment *a_i,
enum db_insert_types db_insert_type,
...
);
и указатель определяется как:
void (*fct)(
struct DataBase *db,
struct auto_increment *a_i,
enum db_insert_types db_insert_type,
...
);
я использовать указатель, как:
int main() {
struct DataBase db;
struct auto_increment a_i;
void (*fct)(struct DataBase *db, struct auto_increment *a_i, enum db_insert_types db_insert_type,...);
fct = &db_insert;
(*fct)(&db, &a_i, db_insert_modele, 1, 2, 3, "asd", "dan", "mere");
db_initiate(&db, &a_i);
db_free_mem(&db);
return 0;
}
Это вызывает мое приложение к «Stop Работа "
Что я делаю неправильно?
"* Но указатель заставляет мою программу сбой. *", Возможно, нет, но как она используется, что вы делаете * не * покажите нам. – alk
Что вы подразумеваете под "делает мою программу аварии"? Вы получаете сбой при вызове функции через указатель? Как выглядит код для назначения указателя и вызова функции? –
Редактировать: вы были правы, вызов указателя вызывает сбой –