具有多个参数的函数指针

时间:2016-12-02 13:59:42

标签: c pointers struct

我对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;
}

这会导致我的应用“停止工作”

我做错了什么?

1 个答案:

答案 0 :(得分:1)

解决了,问题与函数指针无关。问题是在db_insert之前调用db_initiate