【发布时间】:2012-07-11 16:14:01
【问题描述】:
我在头文件中创建了如下结构:
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 文件的一部分?
【问题讨论】:
-
始终显示第一个错误的全文。在 Visual Studio 中,这可以在“输出”窗口中找到,而不在在“错误”窗口中。
标签: c++ opengl global-variables declaration structure