我使用预先构建的库,为了让我加载纹理并显示它,我必须使用此代码。我希望加载多个文件并将它们存储为数组中的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());
}
答案 0 :(得分:8)
问题很可能与您拨打Load
的方式有关,修复方法是使用fullfileName.c_str()
:
cutSceneMain[i]->texture->Load(fullfileName.c_str(), false);
^^^^^^^
Load
需要const char*