當在.h文件中定義一個枚舉(enum)類型時,由於這個.h的頭文件,會被其他好幾個.h文件引用,所以在編譯的時候,會出現error C2011:類型重定義的報錯。
這樣的錯誤一度讓樓主懷疑人生啊。
其解決辦法是:
在報類型重定義的頭文件(xxxx.h),最上方加兩行:
#ifndef _XXXX_ #define _XXXX_
最下方一行加上
#endif
條件指示符#ifndef,條件指示符#ifndef 最主要的目的就是防止頭文件的重復包含和編譯,這樣才能保證頭文件被多個其他文件引用時,內部的數據不會被多次定義而造成錯誤。
from: https://me.csdn.net/hust_bochu_xuchao
