不存在从 std 字符串到 const char * 的合适转换函数
Posted
技术标签:
【中文标题】不存在从 std 字符串到 const char * 的合适转换函数【英文标题】:No suitable conversion function from std string to const char * exists 【发布时间】:2015-12-21 21:54:11 【问题描述】:我正在使用预构建的库,为了让我加载纹理并显示它,我必须使用此代码。我正在寻找加载多个文件并将它们作为struct
存储在一个数组中,以便可以调用和显示它们。我不断收到此错误:
不存在从
std
string 到 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】:问题很可能与您调用Load
的方式有关,解决方法是使用fullfileName.c_str()
:
cutSceneMain[i]->texture->Load(fullfileName.c_str(), false);
^^^^^^^
Load
需要const char*
【讨论】:
以上是关于不存在从 std 字符串到 const char * 的合适转换函数的主要内容,如果未能解决你的问题,请参考以下文章
C++标准库 如何连接两个const char *类型字符串,并返回const char * 类型结果?
VS2017出现不存在从"CString"到"const char*"的适当转换函数
VS2017中遇到不存在从string到const char*的转换函数的解决方法