类型化结构包含将此类型化结构作为参数的类型化函数
Typed struct contains typed function that takes this typed struct as an argument
是完全错误,没有办法,还是我必须做其他事情?
例如:
typedef void (*UserFunc)(Test *tx);
typedef struct{
int a;
char b;
UserFunc func;
} Test;
我收到这个错误:
c.c:5:26: error: unknown type name ‘Test’
typedef void (*UserFunc)(Test *tx);
^~~~
c.c:10:1: error: unknown type name ‘UserFunc’
UserFunc func;
^~~~~~~~
当我向下移动函数 typedef:
typedef struct{
int a;
char b;
UserFunc func;
} Test;
typedef void (*UserFunc)(Test *tx);
我得到:
c.c:8:1: error: unknown type name ‘UserFunc’
UserFunc func;
^~~~~~~~
你必须先声明测试,然后再定义它:
typedef struct Test Test;
typedef void (*UserFunc)(Test *tx);
typedef struct Test {
int a;
char b;
UserFunc func;
} Test;
是完全错误,没有办法,还是我必须做其他事情?
例如:
typedef void (*UserFunc)(Test *tx);
typedef struct{
int a;
char b;
UserFunc func;
} Test;
我收到这个错误:
c.c:5:26: error: unknown type name ‘Test’
typedef void (*UserFunc)(Test *tx);
^~~~
c.c:10:1: error: unknown type name ‘UserFunc’
UserFunc func;
^~~~~~~~
当我向下移动函数 typedef:
typedef struct{
int a;
char b;
UserFunc func;
} Test;
typedef void (*UserFunc)(Test *tx);
我得到:
c.c:8:1: error: unknown type name ‘UserFunc’
UserFunc func;
^~~~~~~~
你必须先声明测试,然后再定义它:
typedef struct Test Test;
typedef void (*UserFunc)(Test *tx);
typedef struct Test {
int a;
char b;
UserFunc func;
} Test;