为什么在C ++的system()中发生错误E0413?

时间:2018-05-03 09:41:25

标签: c++

#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;
}

我不明白为什么我在系统()处收到错误E0413 = no suitable conversion function from "std::basic_string<char, std::char_traits<char>, std::allocator<char>>" to "const char *" exists media_maker c : \Users\amans\Documents\code\maker.cpp 50。请帮忙

1 个答案:

答案 0 :(得分:4)

你有这个错误,因为你的代码混合了字符串和const char *(这不是你的错)并且只能从const char *隐式转换为string而不是其他方式 所以你需要使用std :: string :: c_str

进行转换
system(("cd C:\\Users\\amans\\Documents && " + content).c_str());