访问类外部的变量

Accessing a variable outside a class

本文关键字:变量 外部 访问      更新时间:2023-10-16

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

SDL_Renderer* gRenderer = NULL;

我有一个在单独的文件(.h.cpp文件中的类)。在.cpp文件中,我想像这样访问gRenderer

newTexture = SDL_CreateTextureFromSurface( gRenderer, loadedSurface );

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

"无法从颜色创建纹理.png!SDL 错误:无效 渲染器"

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

为了访问它,它的文件必须包含在它将使用的文件中。因此,您应该将变量声明移动到头文件(如 main.h ),并将其包含在main.ccp和将使用的文件中。

但是,要做到这一点,在头文件中,您应该将其声明为 extern,并在 main.cpp 中正常定义:

main.h
extern SDL_Renderer* gRenderer;
main.cpp
SDL_Renderer* gRenderer = NULL;

这样,变量就被定义并可以跨多个文件正常使用,并保留其值。

如果您想了解更多信息:如何使用 extern 在源文件之间共享变量?