gpt4 book ai didi

编译错误 'undeclared identifier'C

转载 作者:行者123 更新时间:2023-11-30 17:57:28 26 4
gpt4 key购买 nike

我的代码即将完成,但它给了我这个错误:“curtemp:未声明的标识符”。和“prevtemp:未声明的标识符”和“缺少”;”在类型'之前(最后一个错误是在“float curtemp = current->temp;”行上。我不知道我的代码出了什么问题。我试图从双向链表中删除一些元素该元件内部的温度比前一个元件的温度高 5 度或低 5 度。

这是我的 .c 文件:

void remove_error(Dlist *list){

DlistElmt *current;

current = list->head;
//initializes ints for comparison
float curtemp = current->temp;
float prevtemp = current->temp;
//now moves current to next data
current = current -> next;

//begins while loop for comparison of data
while(current != NULL){
curtemp = current -> temp;

if((curtemp >= (prevtemp +5)) || (curtemp <= (prevtemp-5))){
//removes current from the list
dlist_remove(list, current);

current = current->next;

}
}

}

这是我的结构元素文件:

typedef struct DlistElmt_ {

int hour;
int min;
float temp;

struct DlistElmt_ *prev;
struct DlistElmt_ *next;

} DlistElmt;

最佳答案

对于 C89 或 C90,变量必须在 block (函数或局部 block )的开头声明。但是,对于 C99,此限制不适用。因此,很可能,上述 Karthik T 和 japreiss 的建议必须适用。

您可以尝试仅将浮点变量的声明移动到函数的开头,然后再分配它们。

关于编译错误 'undeclared identifier'C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com