无法将 'SDL_Rect' 转换为 'const SDL_Rect*'
Cannot convert 'SDL_Rect' to 'const SDL_Rect*'
我正在使用 SDL2。我在 sprite class 中有 SDL 矩形,我想在 main 中访问 SDL_Render_copy()
函数,但我不断收到此错误:
cannot convert 'SDL_Rect' to 'const SDL_Rect*' for argument '3' to 'int SDL_RenderCopy(SDL_Renderer*, SDL_Texture*, const SDL_Rect*, const SDL_Rect*)'
我的精灵 class 的内部看起来像这样:
Sprite::Sprite()
{
//sprite clips
gSpriteClips[0].h = 128;
gSpriteClips[0].w = 128;
gSpriteClips[0].x = 16;
gSpriteClips[0].y = 144;
}
SDL_Rect Sprite::getSpriteClip(int x)
{
return gSpriteClips[x];
}
主要是我有这个:
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), sprite.getSpriteClip(0), &dest);
我一直在修补这个错误,但我只能让它按照下面的方式工作——但我宁愿在没有这行额外代码的情况下实现它:
SDL_Rect newrect = sprite.getSpriteClip(0);
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), &newrect, &dest);
谢谢大家,这成功了:
const SDL_Rect* Sprite::getSpriteClip(int x)
{
return &gSpriteClips[x];
}
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), sprite.getSpriteClip(0), &dest);
我正在使用 SDL2。我在 sprite class 中有 SDL 矩形,我想在 main 中访问 SDL_Render_copy()
函数,但我不断收到此错误:
cannot convert 'SDL_Rect' to 'const SDL_Rect*' for argument '3' to 'int SDL_RenderCopy(SDL_Renderer*, SDL_Texture*, const SDL_Rect*, const SDL_Rect*)'
我的精灵 class 的内部看起来像这样:
Sprite::Sprite()
{
//sprite clips
gSpriteClips[0].h = 128;
gSpriteClips[0].w = 128;
gSpriteClips[0].x = 16;
gSpriteClips[0].y = 144;
}
SDL_Rect Sprite::getSpriteClip(int x)
{
return gSpriteClips[x];
}
主要是我有这个:
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), sprite.getSpriteClip(0), &dest);
我一直在修补这个错误,但我只能让它按照下面的方式工作——但我宁愿在没有这行额外代码的情况下实现它:
SDL_Rect newrect = sprite.getSpriteClip(0);
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), &newrect, &dest);
谢谢大家,这成功了:
const SDL_Rect* Sprite::getSpriteClip(int x)
{
return &gSpriteClips[x];
}
SDL_RenderCopy( system.getRenderer(), system.getFullSpriteTexture(), sprite.getSpriteClip(0), &dest);