我在头文件中创建了一个结构,如下所示:
typedef struct
{
GLfloat lgtR, lgtG, lgtB, lgtA;
GLfloat x, y, z;
bool islight;
GLfloat width, height, depth;
GLenum lightn;
particle prt;
int maxprt;
} emitter;
这没有问题。
但是,在那个特定的头文件中,我想声明一个全局发射器,我可以在所有函数中使用它而不是主源文件的一部分:
// header.h global declaration
emmiter currentEmit;
GLvoid glSetEmitter(emitter emitter)
{
currentEmit = emitter;
}
但是,当我尝试这样做时,我得到了很多“错误 C2228:'.variable' 的左侧必须有类/结构/联合,所以我假设它根本没有在这里声明我的结构。
有没有办法在头文件中全局声明该结构,如果是这样,是否还有办法让它不成为其他 .cpp 文件的一部分?