输入参数无效

时间:2015-12-28 05:45:21

标签: c++ sdl-2

我正在尝试使用先前定义的类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函数中,则纹理成功加载。从这看起来第一个输入参数似乎没有正确实现。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

bool loadMedia(LTexture& textureName, std::string path)
                       ^