如何在回调中使用结构的参数化成员函数?

琼斯·G

我有一个看起来像下面的结构

struct dc_callback
{ 
    int
    my_configure_event(
        GtkWidget *widget,
        GdkEventConfigure *event,
        struct LoadData *myData)
    {
        ...others

        return TRUE;
    }

    //Parametrized Constructor 
    int
    my_draw(
        GtkWidget *widget,
        cairo_t *cr,
        struct LoadData *myData)
    {
        ...others
        return TRUE;
    }
};

它有两个参数化的成员函数,我打算在g_signal_connect第n次调用

main(){
    int i;
    dc_callback dc_callback_instance[nth];
    for(i=0;i<nth;i++){
        g_signal_connect(widget_list[i],"draw",G_CALLBACK(dc_callback_instance[i].my_draw),myData);
        g_signal_connect(widget_list[i],"configure-event",G_CALLBACK(dc_callback_instance[i].my_configure_event),myData);
    }
}

但是,在编译期间,我收到有关成员函数无效使用的错误int dc_callback::my_draw(args)它要求我添加,()但是不能完成,因为G_CALLBACK接受没有附加参数的函数名。

我该如何完成?

用户1531591

@ 0x5453的答案是正确的,除了my_draw_cbk及其调用:它应该是

gboolean my_draw_cbk ( GtkWidget *widget,
        cairo_t *cr,
        struct CallbackData *cbData)
{
    cbData->dc_callback_inst.my_draw(widget, cr, cbData->otherData);
    return TRUE;
}

并连接信号:

 // cbData shall be free with g_free when no longer needed
 CallbackData* cbData = g_new(CallbackData, 1); 
 // set the cbData values..
 g_signal_connect(widget_list[i],"draw",G_CALLBACK(my_draw_cb),cbData);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在GWT UiBinder中使用JavaScript回调函数?

来自分类Dev

如何在回调函数javascript中使用断言

来自分类Dev

如何在此函数中使用此回调消息

来自分类Dev

如何在imagesLoaded回调函数中使用变量?

来自分类Dev

如何在Python中使用ctypes创建回调函数?

来自分类Dev

如何在GWT UiBinder中使用JavaScript回调函数?

来自分类Dev

如何在此函数中使用此回调消息

来自分类Dev

如何在API中使用jsonp回调函数

来自分类Dev

在Dart中的可选参数构造函数中使用构造函数初始化成员

来自分类Dev

如何使用带参数的回调函数?

来自分类Dev

如何在C ++中初始化成员的构造函数参数

来自分类Dev

如何在回调中使用“this”?

来自分类Dev

如何在array_map()中为回调函数使用参数/参数?

来自分类Dev

在回调中使用带有参数的函数

来自分类Dev

如何在 Python 中使用 ctypes,当“C”回调的参数为 char **

来自分类Dev

如何在php的回调函数中传递参数?

来自分类Dev

如何在回调函数中使Ember操作冒泡?

来自分类Dev

如何在React JS中的图像加载事件的回调中使用函数?

来自分类Dev

如何在事件回调中使用实时函数和去抖?

来自分类Dev

如何在JestJS中使用回调参数模拟函数

来自分类Dev

如何在JestJS中使用回调参数模拟函数

来自分类Dev

如何使用函数更改所有结构成员参数?

来自分类Dev

如何使用可选的回调参数制作JavaScript函数

来自分类Dev

如何使用可选的回调参数制作JavaScript函数

来自分类Dev

如何知道在 Cordova 中使用的回调函数是否相同?

来自分类Dev

如何在Meteor中使用查找和回调

来自分类Dev

如何在Gtk回调中使用C块?

来自分类Dev

如何在rails中使用`after_update'回调?

来自分类Dev

如何在Hooks上使用状态回调函数

Related 相关文章

  1. 1

    如何在GWT UiBinder中使用JavaScript回调函数?

  2. 2

    如何在回调函数javascript中使用断言

  3. 3

    如何在此函数中使用此回调消息

  4. 4

    如何在imagesLoaded回调函数中使用变量?

  5. 5

    如何在Python中使用ctypes创建回调函数?

  6. 6

    如何在GWT UiBinder中使用JavaScript回调函数?

  7. 7

    如何在此函数中使用此回调消息

  8. 8

    如何在API中使用jsonp回调函数

  9. 9

    在Dart中的可选参数构造函数中使用构造函数初始化成员

  10. 10

    如何使用带参数的回调函数?

  11. 11

    如何在C ++中初始化成员的构造函数参数

  12. 12

    如何在回调中使用“this”?

  13. 13

    如何在array_map()中为回调函数使用参数/参数?

  14. 14

    在回调中使用带有参数的函数

  15. 15

    如何在 Python 中使用 ctypes,当“C”回调的参数为 char **

  16. 16

    如何在php的回调函数中传递参数?

  17. 17

    如何在回调函数中使Ember操作冒泡?

  18. 18

    如何在React JS中的图像加载事件的回调中使用函数?

  19. 19

    如何在事件回调中使用实时函数和去抖?

  20. 20

    如何在JestJS中使用回调参数模拟函数

  21. 21

    如何在JestJS中使用回调参数模拟函数

  22. 22

    如何使用函数更改所有结构成员参数?

  23. 23

    如何使用可选的回调参数制作JavaScript函数

  24. 24

    如何使用可选的回调参数制作JavaScript函数

  25. 25

    如何知道在 Cordova 中使用的回调函数是否相同?

  26. 26

    如何在Meteor中使用查找和回调

  27. 27

    如何在Gtk回调中使用C块?

  28. 28

    如何在rails中使用`after_update'回调?

  29. 29

    如何在Hooks上使用状态回调函数

热门标签

归档