示例.h
namespace Testing
{
enum Type
{
DATA = 0,
MORE_DATA
};
}
现在在 Sample2.h 中,使用相同的命名空间,我可以访问 Sample.h 中定义的数据类型而不包含它吗?
namespace Testing
{
Type test;
}
问题来了,因为我有实现这个的文件,而且看起来构建没有问题。 另一个用户正在尝试构建,但报告说他必须在 Sample2.h 中 #include "Sample.h"才能构建。
最佳答案
文件构建很可能是因为一些较早的包含文件为您包含了 Sample.h。当省略较早的包含文件(或在 Sample2.h 之后移动)时,文件将不再编译。
关于c++ - 命名空间中声明的数据类型的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029949/