我正在使用一个预先构建的库,为了让我加载纹理并显示它,我必须使用此代码。我希望加载多个文件并将它们作为struct存储在数组中,以便可以调用和显示它们。我不断收到此错误:



尝试在以下部分加载时。

for (int i=0; i<CUTSCENE; i++)
{
    stringstream s;
    int fileNum = i+1;

    string FirstPart = "Textures/GameVideos/Game (";
    string LastPart = ").png";

    s << FirstPart << fileNum << LastPart << endl;
    string fullfileName;
    s >> fullfileName;

    cutSceneMain[i]->texture = new Texture2D();
    cutSceneMain[i]->texture->Load(fullfileName, false);
    cutSceneMain[i]->sourceRect = new Rect(0.0f, 0.0f, 700, 700);
    cutSceneMain[i]->position = new Vector2(0.0f, 0.0f());
}

最佳答案

问题很可能与您调用Load的方式有关,一种解决方法是使用fullfileName.c_str():

cutSceneMain[i]->texture->Load(fullfileName.c_str(), false);
                                            ^^^^^^^
Load需要const char*

09-08 04:44