名字空间问题:如何进行类的声明
如何进行类的声明?
现在,由于担心名字冲突,不得不将内部模块的类封装到一个名字空间中去,但是遇到类的声明问题;
考虑如下情况:
没有用名字空间封装以前:
A.h
class B;
class A
{
...
A *m_xxx;
}
B.h
class B
{
}
添加名字空间以后:
我想变成这样:
A.h
namespace Inter
{
class A
{
...
};
}
B.h
namespace Inter
{
class B
{
...
};
}
现在遇到的问题是:
在A.h 中无法声明class B;
即,无法用 class B; 或class Inter::B;来声明。
请问有什么解决方法?
不考虑直接将B.h 加进去的方法,因为这样虽然能解决,但会导致编译时间过长。我机子慢,不想改一个文件就要重新编译一大堆文件。