System () нет подходящего преобразования C ++

У меня есть 2 списка с именами файлов.

std::list<std::string> userfontlist;
std::list<std::string>::iterator it;
std::list<std::string> CAATfontlist;
std::list<std::string>::iterator it2;
std::list<std::string> doesnthavelist;

и я хочу сравнить 2 списка и удалить значение, которое ему соответствует. Кажется, все в порядке, пока я не добавлю del / F / Q / A в y.c_string ().

for (it = userfontlist.begin(); it !=userfontlist.end(); ++it){
    for(it2 = CAATfontlist.begin();it2 !=CAATfontlist.end();++it2){
        if(*it==*it2){
            string y = *it;
            string k = y.c_str();
            string a = "del /F /Q /A " + k;
            system(a);

        }
    }
 }

system (a) говорит, что у меня "не существует подходящей функции преобразования из строки std в const char *". Если я помещу все это как 1 строку, это будет работать, но не тогда, когда я объединяю строку и y.c_str () Мне не повезло, когда я пытался преобразовать std :: string в const * char, даже не уверен, поможет ли это.

Ответы на вопрос(1)

Ваш ответ на вопрос