[英]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()
返回渲染器?
SDL頭文件未提供SDL_Renderer
的定義。 它是不透明的類型,只能通過指針或引用傳遞。 將函數的返回類型更改為SDL_Renderer*
。
SDL_Renderer* Graphics::getRenderer(){
return _renderer;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.