C++ 为什么错误E0413出现在C++;? #包括 #包括 #包括 #包括 使用名称空间std; int main() { string content=“video.mp4”; //下面的行出现错误 系统(“cd C:\\Users\\amans\\Documents&&”+内容); 返回0; }
我不明白为什么会出现错误E0413=C++ 为什么错误E0413出现在C++;? #包括 #包括 #包括 #包括 使用名称空间std; int main() { string content=“video.mp4”; //下面的行出现错误 系统(“cd C:\\Users\\amans\\Documents&&”+内容); 返回0; },c++,C++,我不明白为什么会出现错误E0413=系统()上没有合适的从“std::basic_string”到“const char*”的转换函数。请帮助出现此错误是因为您将字符串和常量字符*混合编码(这不是您的错),并且只能从常量字符*隐式转换为字符串,而不能以其他方式进行转换 因此,您需要使用std::string::c_str进行转换 #include <iostream> #include <windows.h> #include <list> #include
系统()上没有合适的从“std::basic_string”到“const char*”的转换函数。请帮助出现此错误是因为您将字符串和常量字符*混合编码(这不是您的错),并且只能从常量字符*隐式转换为字符串,而不能以其他方式进行转换
因此,您需要使用std::string::c_str进行转换
#include <iostream>
#include <windows.h>
#include <list>
#include <string>
using namespace std;
int main()
{
string content = "video.mp4";
//error occurring on the line beneath
system("cd C:\\Users\\amans\\Documents && " + content);
return 0;
}
出现此错误是因为您将字符串和常量字符*(这不是您的错)混合在一起编写代码,并且只能从常量字符*隐式转换为字符串,而不能以其他方式转换
因此,您需要使用std::string::c_str进行转换
#include <iostream>
#include <windows.h>
#include <list>
#include <string>
using namespace std;
int main()
{
string content = "video.mp4";
//error occurring on the line beneath
system("cd C:\\Users\\amans\\Documents && " + content);
return 0;
}
代码只回答不推荐的问题。建议至少做一个简短的解释。强制转换是多余的,std::string::operator+
的结果已经是std::string
code-only答案不推荐。至少推荐一个简短的解释。强制转换是多余的,std::string::operator+
的结果已经是std::string
你试过content.c_str()
可能重复的BTW,一个系统内的cd
很可能会保持你的状态不变。@basilestrynkevitch是的,我知道这一点。我必须制作一个可以处理多个目录的程序。你是否尝试过content.c_str()
顺便说一句,系统中的cd
很可能会保持你的目录不变。@BasileStarynkevitch是的,我知道。我必须做一个程序,其中与目录的数量工作。