我在main.cpp
文件中有一个变量,如下所示:
SDL_Renderer* gRenderer = NULL;
我有一个在不同文件中的类(.h
和.cpp
文件。
在.cpp
文件中我想要访问gRenderer
,如下所示:
newTexture = SDL_CreateTextureFromSurface( gRenderer, loadedSurface );
我已经尝试在类中放置一个SDL_Renderer
但是当我编译它时只给出一个警告,它只是未使用的,当我运行程序时,我从SDL_GetError()得到一条消息:
“无法从colors.png创建纹理!SDL错误:无效 渲染器“
如何在单独文件中的类中执行此操作?
答案 0 :(得分:2)
要访问它,其文件必须包含在将要使用的文件中。因此,您应该将变量声明移动到头文件(如main.h
)并将其包含在main.ccp
及其将使用的文件中。
尽管如此,在头文件中,您应将其声明为 extern ,并在main.cpp
中正常定义:
main.h
extern SDL_Renderer* gRenderer;
main.cpp
SDL_Renderer* gRenderer = NULL;
这样,变量就被定义了,并且可以在多个文件中正常使用,保留其值。
如果您想了解更多信息: How do I use extern to share variables between source files?