访问类外的变量

时间:2015-02-04 15:34:18

标签: c++ oop sdl sdl-2

我在main.cpp文件中有一个变量,如下所示:

SDL_Renderer* gRenderer = NULL;

我有一个在不同文件中的类(.h.cpp文件。 在.cpp文件中我想要访问gRenderer,如下所示:

newTexture = SDL_CreateTextureFromSurface( gRenderer, loadedSurface );

我已经尝试在类中放置一个SDL_Renderer但是当我编译它时只给出一个警告,它只是未使用的,当我运行程序时,我从SDL_GetError()得到一条消息:

  

“无法从colors.png创建纹理!SDL错误:无效   渲染器“

如何在单独文件中的类中执行此操作?

1 个答案:

答案 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?