我对C语言有点问题。
我试着创建一个指向具有多个参数(结构和变量)的函数的指针。
我的函数原型是:
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;
}
这会导致我的应用“停止工作”
我做错了什么?
答案 0 :(得分:1)
解决了,问题与函数指针无关。问题是在db_insert
之前调用db_initiate
。