我只是想调用并运行 createList 函数,但我收到一个错误,指出创建列表未在此范围内定义。我不确定我做错了什么。
typedef struct state {
char trans[100];
bool final;
struct state *next;
} STATE;
STATE *stu = NULL;
stu = createList(stu, trans, states);
STATE* createList (STATE *stu, char trans, int states) {
for (int i = states; i > 0; i--) {
printf("%d", i); /*ccode check*/
}
return stu;
}
最佳答案
如果这是你的C文件,那么有两点需要注意:
您必须先声明函数(即原型(prototype)),然后才能使用它。
您不能在全局级别拥有可执行代码。
尝试:
typedef struct state {
char trans[100];
bool final;
struct state *next;
} STATE;
STATE *stu = NULL;
STATE* createList (STATE *stu, char trans, int states) {
for (int i = states; i > 0; i--) {
printf("%d", i); /*ccode check*/
}
return stu;
}
int main (void)
{
stu = createList(stu, trans, states);
return 0;
}
请注意,我在这个例子中没有给出原型(prototype),因为完整的函数是在使用之前定义的,所以编译器知道它的全部内容。
关于c - 为什么我的函数会收到一个错误,指出它未在此范围内定义?我只是想调用该函数并让它立即运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56100766/