这听起来像是你的include路径——编译器扫描的目录列表,以便找到你#include的文件——设置不正确。您正在使用哪个编译器?
确保“Particles.cpp”文件也包含了“Particles.h”作为开始,这些文件在同一个文件夹中,它们都是同一个项目的一部分。如果您还共享从编译器获得的错误消息,则会有所帮助。
如果你列出你的错误代码,可能会有帮助。在我的头脑中,您是否在Particles.h中有一些东西来确保该文件只包含一次?有两种方法可以做到这一点。第一个是使用#pragma一次,但我认为这可能是微软特有的。第二种是使用#define。例子:
#ifndef PARTICLES_H
#define PARTICLES_H
class CParticleWrapper
{
...
};
#endif
此外,除非您从particle .h中的类派生或使用类的实例而不是指针,否则您可以使用类的前向声明并跳过在头文件中包含头文件,这将节省编译时间。
#ifndef LOAD_H
#define LOAD_H
class CParticleWrapper;
class CLoader
{
CParticleWrapper * m_pParticle;
public:
CLoader(CParticleWrapper * pParticle);
...
};
#endif
然后,在Load.cpp中,您将包含particle.h文件。