return 类型‘SDL_Renderer {aka struct SDL_Renderer}’不完整
return type ‘SDL_Renderer {aka struct SDL_Renderer}’ is incomplete
我正在使用 SDL2。我希望能够使用成员函数访问私有成员 _renderer
。
相关代码如下:
Graphics.h
#ifndef GRAPHICS_H
#define GRAPHICS_H
class Graphics {
public:
Graphics();
~Graphics();
SDL_Renderer getRenderer();
private:
SDL_Renderer *_renderer;
#endif
Graphics.cpp
#include <SDL2/SDL.h>
#include "Graphics.h"
SDL_Renderer Graphics::getRenderer(){
return _renderer;
}
当我构建时,我的编译器给我这个错误:
../source/src/Graphics.cpp: In member function ‘SDL_Renderer Graphics::getRenderer()’:
../source/src/Graphics.cpp:49:36: error: return type ‘SDL_Renderer {aka struct SDL_Renderer}’ is incomplete
SDL_Renderer Graphics::getRenderer(){
^
make: *** [source/src/Graphics.o] Error 1
source/src/subdir.mk:27: recipe for target 'source/src/Graphics.o' failed
如何解决此问题,以便 getRenderer()
returns 渲染器?
SDL 头文件没有提供 SDL_Renderer
的定义。它是一种不透明类型,只能通过指针或引用传递。将函数的 return 类型更改为 SDL_Renderer*
.
SDL_Renderer* Graphics::getRenderer(){
return _renderer;
}
我正在使用 SDL2。我希望能够使用成员函数访问私有成员 _renderer
。
相关代码如下:
Graphics.h
#ifndef GRAPHICS_H
#define GRAPHICS_H
class Graphics {
public:
Graphics();
~Graphics();
SDL_Renderer getRenderer();
private:
SDL_Renderer *_renderer;
#endif
Graphics.cpp
#include <SDL2/SDL.h>
#include "Graphics.h"
SDL_Renderer Graphics::getRenderer(){
return _renderer;
}
当我构建时,我的编译器给我这个错误:
../source/src/Graphics.cpp: In member function ‘SDL_Renderer Graphics::getRenderer()’:
../source/src/Graphics.cpp:49:36: error: return type ‘SDL_Renderer {aka struct SDL_Renderer}’ is incomplete
SDL_Renderer Graphics::getRenderer(){
^
make: *** [source/src/Graphics.o] Error 1
source/src/subdir.mk:27: recipe for target 'source/src/Graphics.o' failed
如何解决此问题,以便 getRenderer()
returns 渲染器?
SDL 头文件没有提供 SDL_Renderer
的定义。它是一种不透明类型,只能通过指针或引用传递。将函数的 return 类型更改为 SDL_Renderer*
.
SDL_Renderer* Graphics::getRenderer(){
return _renderer;
}