小编Den*_*tho的帖子

C++/SDL"对非const的引用的初始值必须是左值"

我有一个播放器类,其中我有一个函数来返回SDL_Rect的尺寸和我的播放器对象的位置:

SDL_Rect Player::pos() 
{
    return SDL_Rect { mPosX, mPosY, PLAYER_WIDTH, PLAYER_HEIGHT };
}
Run Code Online (Sandbox Code Playgroud)

当我在我的主程序中使用它来渲染播放器:

Renderer::Draw(img, player.pos(), NULL, angle);
Run Code Online (Sandbox Code Playgroud)

我得到错误:"对非const的引用的初始值必须是左值",但当我改为写:

SDL_Rect pos = player.pos();
Renderer::Draw(img, pos, NULL, angle);
Run Code Online (Sandbox Code Playgroud)

有用.为什么我不能直接使用player.pos()并且必须使用另一个SLD_Rect变量?

c++ sdl

3
推荐指数
1
解决办法
137
查看次数

使用 SDL2 和 SDL_image 加载 C++ 图像

我有一个关于使用 SDL_image 库在 SDL2 中加载图像的问题。

不幸的是,我在 SDL_image 文档中没有找到有关 IMG_LoadTexture 的任何信息。那么使用 IMG_LoadTexture 直接加载 PNG 图像作为纹理与使用 IMG_Load 加载表面然后使用 SDL_CreateTextureFromSurface 将其转换为纹理之间有什么区别?使用一个比另一个有什么好处吗?

c++ sdl-image sdl-2

2
推荐指数
1
解决办法
4739
查看次数

标签 统计

c++ ×2

sdl ×1

sdl-2 ×1

sdl-image ×1