頭文件順序調換編譯出錯、添加頭文件後仍然報錯

第一次看到下劃線的地方報錯,以爲是頭文件沒有包含,導致未定義錯誤,後來發現頭文件添加後錯誤依然存在。

void five_key_air_dev_fun_exec_fan(void)
{
	device_hac_cfg_type_def  *device_hac_cfg_ptr;
	gui_draw_hac_pib_t  *draw_hac_pib_ptr;
	
	draw_hac_pib_ptr  = &s_draw_hac_pib_rect;
	
	 device_hac_cfg_ptr = dev_hac_cfg_get();
	 if(draw_hac_pib_ptr->air_temp >= draw_hac_pib_ptr->set_temp) //ζȴﵽÉ趨ζȹطç¹Ø·§
	 {
		 if(device_hac_cfg_ptr->ventilate_on_off)
		 {														
			 device_hac_cfg_ptr->fan_operation_state = 0; //¹Ø·ç
		 }
		 device_hac_cfg_ptr->pipe_state = AIR_CLOSE_PIPE; //¹Ø·§
	 }
	 else 
	 {
		 device_hac_cfg_ptr->fan_operation_state = draw_hac_pib_ptr->fan_level; //ËÍ·ç
		 device_hac_cfg_ptr->pipe_state = AIR_FAN_PIPE; //¿ª·§
	 }

}

頭文件#include "win_rect.h"如下:

之後無意中發現包含頭文件中把#include "win_cir.h"和#include "win_rect.h"位置互相調換錯誤就會消失,於是打開兩個頭文件比較。


此時才發現在頭文件中實用#ifndef #define #endif的時候重複定義了_WIN_RECT_H_所以導致這個錯誤的出現,於是將文件名爲win_cir.h改爲

錯誤消失,不管怎麼調換頭文件順序都不會再報錯啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章