C++11 如何在C++;11?

C++11 如何在C++;11?,c++11,enums,C++11,Enums,所以我在一个部分中定义了一些枚举,我需要在程序的多个其他部分中使用它。我想,在C++11中没有外部枚举。那么,如何在不同的单元中使用相同的已定义枚举?抱歉重复或误解。这似乎正是头文件的用途: 枚举定义H: enum class my_enum_type { /* .... */ }; 文件1.C: #include <enum_def.H> #包括 文件2.C: #include <enum_def.H> #包括 这似乎正是头文件的用途: 枚举定义H: e

所以我在一个部分中定义了一些枚举,我需要在程序的多个其他部分中使用它。我想,在C++11中没有外部枚举。那么,如何在不同的单元中使用相同的已定义枚举?抱歉重复或误解。

这似乎正是头文件的用途:

枚举定义H:

 enum class my_enum_type { /* .... */ };
文件1.C:

 #include <enum_def.H>
#包括
文件2.C:

 #include <enum_def.H>
#包括

这似乎正是头文件的用途:

枚举定义H:

 enum class my_enum_type { /* .... */ };
文件1.C:

 #include <enum_def.H>
#包括
文件2.C:

 #include <enum_def.H>
#包括

存在属于该枚举类型的实例的枚举类型定义和变量。你想分享的是哪一个?“extern enum type”不能超过“extern class type”(虽然枚举类型的变量实例可以是extern,但在其他变量类型可以是extern的情况下)。因此,可以将枚举类型放在包含多个位置的头文件中,而无需担心。(如果这不能解决您的问题,您可以编辑您的问题以包含代码细节吗?)有枚举类型定义和变量,它们是该枚举类型的实例。你想分享的是哪一个?“extern enum type”不能超过“extern class type”(虽然枚举类型的变量实例可以是extern,但在其他变量类型可以是extern的情况下)。因此,可以将枚举类型放在包含多个位置的头文件中,而无需担心。(如果这不能解决您的问题,您能编辑您的问题以包含代码细节吗?)是的…但是…在文件名中加下划线,大写文件扩展名与C不一样?您可以尝试打开一段时间的
enum def.hpp
,如果该文件能够进入URL栏,那么它看起来肯定会更好。(考虑:
http://example.com/src/enum-def.hpp
vs
http://example.com/Src/enum_def.H
)另请参见:Jeff Atwood的文章,您一定不知道有些操作系统不会被文件名中的下划线所混淆,并且可以正确区分大小写文件名。那个博客的作者似乎也不知道。耶,我现在知道了。但第一次就没用了。谢谢是的…但是…在文件名中加下划线,大写文件扩展名与C不一样?您可以尝试打开一段时间的
enum def.hpp
,如果该文件能够进入URL栏,那么它看起来肯定会更好。(考虑:
http://example.com/src/enum-def.hpp
vs
http://example.com/Src/enum_def.H
)另请参见:Jeff Atwood的文章,您一定不知道有些操作系统不会被文件名中的下划线所混淆,并且可以正确区分大小写文件名。那个博客的作者似乎也不知道。耶,我现在知道了。但第一次就没用了。谢谢