C语言中的递归结构 #包括 typedef结构mystruct { 无效(*ExitFnPtr)(mystruct); INTA; }我的结构; int main() { 我的结构; printf(“你好,世界!\n”); 返回0; }
大家好,有人知道如何解决上面列出的递归结构错误吗?这与递归无关 您的问题只是mystruct的定义在结构定义结束之前是未知的 试一试C语言中的递归结构 #包括 typedef结构mystruct { 无效(*ExitFnPtr)(mystruct); INTA; }我的结构; int main() { 我的结构; printf(“你好,世界!\n”); 返回0; },c,recursion,C,Recursion,大家好,有人知道如何解决上面列出的递归结构错误吗?这与递归无关 您的问题只是mystruct的定义在结构定义结束之前是未知的 试一试 struct mystruct与mystruct相同(您只需键入def),但在当时已知 如果不想更改原始代码,也可以执行转发声明(尽管它不像上面那样可读: typedef struct mystruct { void (*ExitFnPtr)(struct mystruct ms); int a; } mystruct; 这没有什么关系 您的问题
struct mystruct
与mystruct
相同(您只需键入def),但在当时已知
如果不想更改原始代码,也可以执行转发声明(尽管它不像上面那样可读:
typedef struct mystruct
{
void (*ExitFnPtr)(struct mystruct ms);
int a;
} mystruct;
这没有什么关系 您的问题只是mystruct的定义在结构定义结束之前是未知的 试一试
struct mystruct
与mystruct
相同(您只需键入def),但在当时已知
如果不想更改原始代码,也可以执行转发声明(尽管它不像上面那样可读:
typedef struct mystruct
{
void (*ExitFnPtr)(struct mystruct ms);
int a;
} mystruct;
请将错误消息添加到您的问题中-我们无法读懂您的想法!;-)
void(*ExitFnPtr)(struct mystruct);
Builds fine@imreal,并警告:“警告:函数声明中的参数名称(无类型)[默认启用]”;请将错误消息添加到您的问题中-我们无法读懂您的想法!;-)void(*ExitFnPtr)(struct mystruct);
构建fine@imreal,并带有一条警告:“警告:函数声明中的参数名(不带类型)[默认情况下启用]”第二个typedef
是严格必要的吗?不,你可以省略它,但它不会造成任何伤害。第二个typedef
是严格必要的吗?不,你可以省略它,但它不会造成任何伤害。
typedef struct mystruct mystruct;
typedef struct mystruct
{
void (*ExitFnPtr)(mystruct ms);
int a;
} mystruct;