我想声明一个指向函数的指针类型,所以我尝试:
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
?