Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
meJevin
156 / 148 / 58
Регистрация: 18.11.2015
Сообщений: 672
Завершенные тесты: 1
#1

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

29.01.2017, 02:44. Просмотров 179. Ответов 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

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

Не хочет работать - C++
#include&lt;time.h&gt; #include&lt;stdlib.h&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); int a; int n; int i, j,count =...

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

Не хочет работать Rand - C++
Здравствуйте, при выполнении лабораторной работы столкнулся с некоторыми трудностями: При запуске программы она доходит до функции ran и...

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

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

strtok в си++ не хочет работать - C++
надо разбить строку на лексеммы, но почему-то не идет дело, не подскажете почему? У меня MasString содержит строки: Best scores: 1)...

4
Croessmah
Ушел
Эксперт CЭксперт С++
13565 / 7716 / 873
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 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
FraidZZ
29.01.2017, 10:21     Не хочет работать erase с remove_if
  #5

Не по теме:

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

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

Не хочет работать htonl - C++
На одной машине собирает проект нормально. На другой выдает ошибку error LNK2001: unresolved external symbol __imp__htonl@4 ругается...

Почему не хочет работать код? - C++
Если динамическое выделение памяти, то работать не хочет. #include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main()...

Функция ну никак не хочет работать - C++
Вот функция void OPEN_USER_COMMAND(System::String^ PolzCom) { System::String^ Temp = &quot;PrgBase\\&quot;; ...

Посогите с прогой работать не хочет - C++
#include &quot;stdafx.h&quot; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; #include &lt;stdlib.h&gt; void fmas(float q, int n, float a,...


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

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

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