首页 > 解决方案 > C 中的变量未声明(在此函数中首次使用)错误

问题描述

我实现了在程序末尾调用的函数free_list来释放我创建的列表。

void free_list(node* node)
{
   node* temp = NULL;

   while(node != NULL) {
      temp = node;
      node = node->next;
      free(temp);
    }
}

GCC告诉我 - “temp”未声明(在此函数中首次使用)。问题是什么?

标签: c

解决方案


参数名称node隐藏了 struct/class 的名称node

重命名参数:

void free_list(node* node_ptr)
{
   node* temp = NULL;

   while(node_ptr != NULL) {
      temp = node_ptr;
      node_ptr = node_ptr->next;
      free(temp);
    }
}

推荐阅读