【发布时间】:2018-01-04 23:46:01
【问题描述】:
我不明白为什么这个错误继续出现。这是我正在尝试构建的功能: /person 是一个结构。 Person* 是一个指针。
void(*CreateNext)(struct Person *this, int isNextNext, ...)
{
Person* person;
person = (Person*)malloc(sizeof(Person));
person = CreatePerson(person);
this->next = person;
}
The error is on the first line and on the '{'
//This is the struct:
struct Person {
char* name;
int id;
int numOfKids;
char** kids;
struct Person* next;
void (*Print)(struct Person* this);
void (*KillNext)(struct Person* this);
struct Person* (*SelfDestruct)(struct Person* this);
void (*CreateNext)(struct Person* this, int isNextNext, ...);
};
【问题讨论】:
-
这不是正确的 C;你的意思是像
void* CreateNext (struct Person, int, …)这样的东西吗? -
@CS student This void(*CreateNext)(struct Person *this, int isNextNext, ...) 不是函数定义。这是一个错误的函数指针声明。
-
它应该是一个指向函数的指针。对不对?
-
发布
Person和struct Person的定义可以是两个不同的东西。 -
请参阅question,了解您显然想问的问题的答案。