Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SDL渲染和纹理,传递引用_C++_Pointers_Sdl - Fatal编程技术网

C++ SDL渲染和纹理,传递引用

C++ SDL渲染和纹理,传递引用,c++,pointers,sdl,C++,Pointers,Sdl,我正在尝试实现一个带有render和window的类窗口,以及一个纹理的类绘制,为了绘制,我需要有一个对渲染的引用,但如果它们是泛型类,我不能将我的绘制类与单个渲染结合,所以我尝试发送一个对绘制的引用,在窗口中渲染,所以它可以在渲染上绘制 我有这样的东西 class SDLWindow{ public: SDLWindow(std::string Title,int h=480, int w=640, int x=SDL_WINDOWPOS_CENTERE

我正在尝试实现一个带有render和window的类窗口,以及一个纹理的类绘制,为了绘制,我需要有一个对渲染的引用,但如果它们是泛型类,我不能将我的绘制类与单个渲染结合,所以我尝试发送一个对绘制的引用,在窗口中渲染,所以它可以在渲染上绘制

我有这样的东西

class SDLWindow{
        public:
            SDLWindow(std::string Title,int h=480, int w=640, int x=SDL_WINDOWPOS_CENTERED, int y=SDL_WINDOWPOS_CENTERED, Uint32 flag =SDL_WINDOW_SHOWN );
            void RendererOptions(Uint8,Uint8,Uint8,Uint8);
            void RendererClear();
            void RendererPresent();
            SDL_Renderer* ref2Window();
            ~SDLWindow();
        private:
            SDL_Window* DispWin;
            SDL_Renderer* DispRenderer;

    };
我希望这个函数能帮助我给出渲染的引用

SDL_Renderer* SDLWindow::ref2Window(){
    return DispRenderer;
}
这是绘画课

class SimpleDrawText{
    public:
        SimpleDrawText(std::string file,SDL_Renderer& ref, int w=100,int h=100, int x=0, int y=0);
        void Draw(SDL_Renderer& ref);
    protected:

    private:
        SDL_Texture* drawTexture; // the new SDL_Texture variable
        SDL_Rect source; // the first rectangle
        SDL_Rect destination; // another rectangle

        int posx;
        int posy;
        int height;
        int width;
};
我很抱歉我得到了类似这样的参考资料

void SimpleDrawText::Draw(SDL_Renderer& ref){
    SDL_RenderCopy(&ref, drawTexture, &source, &destination);
}
我确信,有一些非常基本的东西,指针和引用,但我现在无法理解。。。有什么帮助吗

void SimpleDrawText::Draw(SDL_Renderer* ref){
    SDL_RenderCopy(ref, drawTexture, &source, &destination);
}
我相信这就是你想做的。希望能有帮助