没有合适的从std字符串到const char *的转换函数

时间:2015-12-21 21:54:11

标签: c++ string c++11 char

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

  

std字符串到const char *没有合适的转换函数

尝试加载以下部分时。

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());
}

1 个答案:

答案 0 :(得分:8)

问题很可能与您拨打Load的方式有关,修复方法是使用fullfileName.c_str()

cutSceneMain[i]->texture->Load(fullfileName.c_str(), false);
                                            ^^^^^^^

Load需要const char*