Ошибка компилятора C ++, удаление буквы из слова - PullRequest
1 голос
/ 27 апреля 2020

Компилятор показывает эту ошибку:

error: invalid operands to binary expression ('basic_ostream<char, std::__1::char_traits<char> >' and 'void')

Что я делаю не так?

#include <iostream>
#include <string>
using namespace std;

void remove(string x, string y)
{
   while (x.find_first_of(y) != -1)
   {
      x.erase(x.find_first_of(y), 1);
   }
}

int main()
{
   string a, b;
   cout << "Enter word: ";
   cin >> a;
   cout << "Sign: ";
   cin >> b;
   cout << "Result: " << remove(a, b) << endl;

   return 0;
}

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Функция ничего не возвращает (это то, что подразумевается под void). Таким образом, вы не можете ничего выводить

Запись

string remove(string x,string y){
..............
return x;
}
0 голосов
/ 27 апреля 2020

remove() функция void, которая ничего не возвращает. Однако cout не перегружает оператор << для типа данных void.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...