2016-04-02 180 views
0

在.h文件中放入一個名稱空間聲明是不好的形式嗎?C++ - 程序中的多枚舉枚舉

//object.h 
namespace Stuff { 
enum Type {Player, Enemy, Gold, Potion} 
} 
... 

當其他文件包含object.h時,它最終可能會被定義多次。這會是一個問題嗎?

回答

0

這就是爲什麼你會包括標頭警衛(編譯一次,如果/結束如果)。您還可以使用enum 類型,例如,枚舉類EnumClassName作爲範圍解析而不是命名空間。

0

好像你沒有在.h文件中包含HEADER GUARD。 它應該是這樣的 -

#ifndef _HEADER_GUARD_ 
#define _HEADER_GUARD_ 

//Your .h file content 

#endif 

這可以防止同一頭文件在文件中多次包含。 人們通常使用.h文件的名稱作爲HEADER_GUARD宏。

比如,對於名爲abhi.h的文件,我傾向於使用_ABHI_H_