输入参数不起作用

Input argument not working

我正在尝试使用先前定义的 class LTexture 的对象作为第一个输入参数来定义 loadMedia 函数。第二个输入参数是文件路径的字符串。

bool loadMedia(LTexture textureName, std::string path)
{
//Loading success flag
bool success = true;

//Load texture

if ( !textureName.loadFromFile(path.c_str()) )
{
    printf("Failed to load texture!\n");
    success = false;
}

return success;
}

然后在我的主循环中:

//Load media
    if (!loadMedia(mainCharTex,"dot.bmp") | !loadMedia(Enemy1Tex,"dot.bmp"))
    {
        printf("Failed to load media!\n");
    }
    else
    {

但是,当我运行程序时,纹理没有加载。如果我输入其中一个纹理对象(例如 mainCharTex),其中 textureName 在 loadMedia 函数中,则纹理会成功加载。由此看来,第一个输入参数似乎没有正确实现。有什么建议吗?

也许您需要通过引用传递 textureName 以便您可以在函数内部更改它并且仍然可以在 main:

中使用更改
bool loadMedia(LTexture& textureName, std::string path)
                       ^