c++ SDL2给出“SDL_Renderer未在此范围内声明”错误[已关闭]

oug3syen  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(140)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
4天前关闭。
Improve this question
每次我运行我的程序时,我都会得到“SDL_Renderer not declared in this scope”的错误,沿着我在附加图像中包含的一些其他错误。当我将代码块放在主函数中时,它工作正常,但当我将它放在一个单独的类中,并使用它自己的.cpp文件和头文件时,我会遇到问题:

在主函数中,我声明了一个

SDL_Renderer *rend = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);

当在我的类中声明SDL_Renderer作为参数时,它看起来像这样(.cpp文件):

void interior::drawGrid(SDL_Renderer* rend){
    int j = 0;
        SDL_SetRenderDrawColor(rend, 30, 0, 0, 70);
        SDL_Rect rect[600];
        for(int y = 0; y < 14; y++)
        {
            for(int x = 0; x < 30; x++)
            {
            j += 1;
            rect[j].x = x*16;
            rect[j].y = (48)+y*16;
            rect[j].h = 16;
            rect[j].w = 16;
            
            SDL_RenderDrawRect(rend, &rect[j]);

            if (rect[j].y >= 272){

                break;
            }
        }
    }
8dtrkrch

8dtrkrch1#

#include <SDL2/SDL.h>
在我所有的头文件中

相关问题