1

为什么以下函数类型的 typedef 声明不能编译?

typedef void( int ) void_from_int_t;
4

2 回答 2

2

它应该是typedef void(void_from_int_t)(int);等。声明遵循使用、螺旋规则或任何你最喜欢的助记符。

于 2013-01-27T02:24:04.033 回答
0

通常,要创建类型定义,只需添加typedef到变量定义:

// array of ten integers, instance and type
int a[10];
typedef int a_t[10];
// function, declaration and type
void function(int);
typedef void function_t(int);

请注意,这是一个函数类型,而不是函数指针类型,可以通过添加星号获得:

function_t* pf = &function;
于 2013-01-27T17:00:57.697 回答