Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
meJevin
156 / 148 / 92
Регистрация: 18.11.2015
Сообщений: 674
Завершенные тесты: 1
#1

Не хочет работать erase с remove_if - C++

29.01.2017, 02:44. Просмотров 200. Ответов 4
Метки нет (Все метки)

Здравствуйте, у меня есть такой код:

C++
1
ships.erase(std::remove_if(ships.begin(), ships.end(), [](Ship & ship) { ship.isDead(); }), ships.end());
Он почему-то отказывается работать и пишет мне в студию, что:

Ошибка (C2171) - !: недопустимо для операндов типа "void" - Ships g:\visual studio 14.0\vc\include\algorithm 1813
Ошибка (C2451) - недопустимое условное выражение типа "void" - Ships g:\visual studio 14.0\vc\include\algorithm 1813


Класс Ships у меня просто представляет собой корабль, его здоровье там, все такое. Член isDead() возвращает bool, если корабль отмечен, как мертвый.

Сам код работает с вектором кораблей (std::vector<Ship> ships;), который является полем класса ShipManger, который создан для распоряжения кораблями.

Проблема в том, что где бы я не пытался ту проклятую строку написать, она нигде не работает. Даже если в мэйне прописать её, она даст ту же ошибку.

Помогите решить проблему, спасибо.

Добавлено через 28 минут
del, забыл return

ох уж эта невнимательность...
http://www.cyberforum.ru/cpp-beginners/thread1706909.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2017, 02:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не хочет работать erase с remove_if (C++):

Код не хочет работать
Не могу понять,почему не работает. Помогите пожалуйста #include &lt;string&gt;...

Не хочет работать htonl
На одной машине собирает проект нормально. На другой выдает ошибку error...

не хочет работать код((((
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;limits.h&gt; #include...

Не хочет работать Rand
Здравствуйте, при выполнении лабораторной работы столкнулся с некоторыми...

strtok в си++ не хочет работать
надо разбить строку на лексеммы, но почему-то не идет дело, не подскажете...

4
Croessmah
++Ͻ
14151 / 8076 / 1513
Регистрация: 27.09.2012
Сообщений: 19,917
Записей в блоге: 3
Завершенные тесты: 1
29.01.2017, 07:11 #2
Спать надо ночью...
4
gru74ik
29.01.2017, 09:00
  #3

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Спать надо ночью...
Прочитал как "спать ночью стыдно"... Кажется, мне пора на сеанс связи...

0
Croessmah
29.01.2017, 09:11
  #4

Не по теме:

gru74ik, утром нужно не просто вставать,
но еще и просыпаться.

0
Eva Rosalene
29.01.2017, 10:21     Не хочет работать erase с remove_if
  #5

Не по теме:

Croessmah, как человек, пытающийся свести конечности с соответствующими им полушариями мозга воедино после здорового полуторочасового сна - поддерживаю мысль. Всецело.

0
29.01.2017, 10:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2017, 10:21
Привет! Вот еще темы с ответами:

Макрос не хочет работать
Привет всем! У меня не компилируется проект, ошибка, мб кто-то подскажет что...

Почему не хочет работать код?
Если динамическое выделение памяти, то работать не хочет. #include...

Посогите с прогой работать не хочет
#include &quot;stdafx.h&quot; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt;...

Функция ну никак не хочет работать
Вот функция void OPEN_USER_COMMAND(System::String^ PolzCom) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru