#最近在学习和解读PhysX
看到两个头文件
头文件一:
// PxSimpleTypes.h
namespace physx
{
typedef uint32_t PxU32;
...
}
头文件二:
// Px.h
#include "PxSimpleTypes.h"
namespace physx
{
typedef uint32_t PxU32;
class PxAllocatorCallback;
...
}
查找资料得知可以在多个头文件中定义相同名字的命名空间,但是不允许命名空间出现相同的名字,并且最终命名空间会被合成到一起。
问题一:头文件一已经在physx命名空间中定义了类型PxU32,头文件二为什么能定义同名类型,并且有什么必要定义这个已经定义的类型?
问题二:头文件二中使用了类PxAllocatorCallbak,这个类的头文件并没有被头文件二引用,反而是这个类的头文件引用了头文件二,为什么可以访问到这个类?