当前位置: 代码迷 >> 单片机 >> 弄不明白的报错:Warning[Pe550]: variable "Check_point" was set but never used 定义了未使用
  详细解决方案

弄不明白的报错:Warning[Pe550]: variable "Check_point" was set but never used 定义了未使用

热度:106   发布时间:2016-04-28 14:59:41.0
搞不明白的报错:Warning[Pe550]: variable "Check_point" was set but never used 定义了未使用
    
搞不明白的报错,明明已经使用了的,还说定义了但未使用。看红色的句子,我已经给它赋值了,怎么能说我没用他呢,还有一个情况,我发现赋值不成功。高手出招吧~
  
      struct MacID_Struct *p1,*p2,*Check_point;      p1=Token_Head;//动态表表头
      Check_Head=creat("");//建立核查表(将不在本机链表中的机器加入)
      
      for(i=0;i<MacNum;i++)
      {
        
        OnlineFlag=0;
        
        while(p1->next!=NULL)
        {
          if(strcmp(MacS[i].MacID,p1->MacID)==0)
            OnlineFlag=1;
          else
            p2=p1;p1=p1->next;
        }
        //把不在环路内的MAC插入到 Check_Head链表里面
        if(OnlineFlag==0)
        {
          struct MacID_Struct *New_point;
          New_point=(struct MacID_Struct*)malloc(LEN);
          strcpy(New_point->MacID, MacS[i].MacID);
          if(New_point!=NULL)
            Check_Head=inset(Check_Head,New_point);
          
          if(AddNode==0)//如果什么也没有加入则释放空间
            free(New_point);
        }
      }  
      
      Check_point=Check_Head;      Wireless_Web_Status= Check_Flag;
      
    }
------解决方案--------------------
Warning[Pe550]: variable "Check_point" was set but never used

这个只是一个警告,可以不管

你们这没有用的变量的提示呢,也许是由于编译器比较聪明,发现你的这个变量一直没有实际意义的应用,就优化掉了

------解决方案--------------------
引用:
Warning[Pe550]: variable "Check_point" was set but never used

这个只是一个警告,可以不管

你们这没有用的变量的提示呢,也许是由于编译器比较聪明,发现你的这个变量一直没有实际意义的应用,就优化掉了

编译器或许以为 while(p1->next!=NULL)里面的 p1->next!=NULL永远为真,这样
  Check_point=Check_Head这句就运行不到了
------解决方案--------------------
你给一个局部变量赋了值,但从未引用它-------不产生任何效果的代码,可能是逻辑上的某个错误,或是遗留的代码垃圾--------
------解决方案--------------------
跟编译器有关,那可以修改编译选项。
变量赋值没有使用。。。
------解决方案--------------------
1.仔细检查是否有拼写错误
2.检查算法、逻辑,此变量是否真得需要
3.关闭优化,看看是否还有报警
  相关解决方案