我想声明一个指向函数的指针类型,所以我尝试:
typedef void (*print)(void);
完美地工作了。
void (*print)(void);
p是一个指针变量,不是一个类型。
typedef (void) (*print)(void);
错误:在“void”之前需要标识符或“(”。
typedef void (*)(void) Print;
错误:在Print之前需要“=”,“,”,“;”,“asm”或“_attribute_”。
我的问题是:
我必须使用
typedef
来声明函数指针类型吗?typedef (void) (*print)(void);
为什么是错误的?这里的()
是什么意思?为什么我不能这样写:
typedef void (*)(void) Print
?