Ошибка удаления С++ STL

У меня возникли проблемы с пониманием того, где я ошибся с кодом:

#include <iostream>

#include <string>

using namespace std;

int main(int argc, char* argv[]) {
    string str = "";
    cin >> str;
    remove(str.begin(), str.end(), ' ');
    cout << str;
    cin.ignore();
}

Ошибка говорит: "remove": функция не принимает 3 аргумента (C2660) "

Ответ 1

Попробуйте добавить

#include <algorithm>

"алгоритм" - это заголовок STL, содержащий множество функций, включая std:: remove, которые пытается вызвать OP. Ошибка, которую он получил, состоит в том, что есть еще одна функция, которая принимает один аргумент, называемый "remove", который удаляет файл.