我在 C 语言方面遇到了一点问题。
我正在尝试创建一个指向具有多个参数(结构和变量)的函数的指针。
我的函数原型(prototype)是:
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;
}
这会导致我的应用“停止工作”
我做错了什么?
最佳答案
已解决,问题与函数指针无关。问题在于 db_insert
在 db_initiate
之前被调用。
关于c - 具有多个参数的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40933943/