将指定的函数分配给函数成员指针

Assign the designated function to the function member pointer?

本文关键字:函数 成员 指针 分配      更新时间:2023-10-16

给定

void* hello () {
   cout << "Test.n";          
}

struct _table_struct {
    void *(*hello) ();
};

我们如何将函数 (hello) 分配给函数成员指针?

我试过这个(主要):

 _table_struct g_table;
 _table_struct *g_ptr_table = &g_table;
 // trying to get the struct member function pointer to point to the designated function
 (*(g_ptr_table)->hello) =  &hello; // this line does not work
 // trying to activate it
 (*(g_ptr_table)->hello)();

将指针指定为指向对象时,不要取消引用指针。

g_ptr_table->hello = &hello; // note: the & is optional
g_ptr_table->hello(); // dereferencing the function pointer is also optional