详解 typedef void (*func)(void);

这条语句定义了一个函数指针类型 func,该函数指针指向一个无返回值、无参数的函数。

具体来说,typedef 是一个关键字,它用于定义一种新的类型名。void (*func)(void) 是一个函数指针类型的声明,其中 void 表示函数没有返回值,(void) 表示函数没有参数,*func 表示这是一个指向函数的指针类型。

typedef void (*func)(void); 将这个函数指针类型定义为 func,使得以后可以用 func 来代替 void (*)(void) 这个函数指针类型。这样,我们可以用 func 来定义一个指向无返回值、无参数的函数的指针,而不必再写一长串的函数指针类型了。

示例如下。

#include 
using namespace std;

typedef void (*func)(void);  // 定义函数指针类型 func

void foo() {
    cout << "Hello, world!" << endl;
}

int main() {
    func ptr = &foo;  // 定义函数指针 ptr,使其指向函数 foo
    ptr();  // 通过函数指针 ptr 调用函数 foo
    return 0;
}

//输出如下
Hello, world!

你可能感兴趣的:(c++,开发语言)