C++ 中的 Typedef 函数指针
Typedef function pointer in C++
我正在尝试理解 C++ 中的代码 header。
#define GET_VAL(fn) void fn(int val)
typedef GET_VAL ((*get_val));
struct myStruct
{
get_val getValue;
};
在源文件中,调用了函数getValue。
getValue(2);
有人有什么想法吗?
GET_VAL
宏替换您传递给它的标记。这个:
typedef GET_VAL ((*get_val));
扩展为:
typedef void (*get_val) (int val);
这是一个指向函数的指针,它没有接受 int
和 returns。这种类型的函数指针在 myStruct
中声明(大概是在某个时候定义的)并像常规函数一样调用。
我正在尝试理解 C++ 中的代码 header。
#define GET_VAL(fn) void fn(int val)
typedef GET_VAL ((*get_val));
struct myStruct
{
get_val getValue;
};
在源文件中,调用了函数getValue。
getValue(2);
有人有什么想法吗?
GET_VAL
宏替换您传递给它的标记。这个:
typedef GET_VAL ((*get_val));
扩展为:
typedef void (*get_val) (int val);
这是一个指向函数的指针,它没有接受 int
和 returns。这种类型的函数指针在 myStruct
中声明(大概是在某个时候定义的)并像常规函数一样调用。