将指定函数赋值给函数成员指针?
Assign the designated function to the function member pointer?
给出
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
给出
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