![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]()
Я написал шаблон
Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]()
Тоже самое тут:
2) Вместо двох решил шаблон сделать. но ... не работает. Я что то не так с шаблоном делаю? Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Так а где ".mIsActive;" там?
И код странный какой-то. Может например лучше всем объектам наследоваться от GameObject? Ну а в remove просто что-то странное написано в конце, шаблон не причем. Смотрите пример в документации.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]() Цитата:
Код:
Код:
Код:
GameObject у меня нету. В ремув ж я должен передавать функцию шаблон если я так передаю auto itFireBall = std::remove_if(mFireBalls.begin(), mFireBalls.end(), IsFireBallDestroyed); то все ок работает |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Не видите разницу между IsFireBallDestroyed и IsNotActive(mEnemies)?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]() Код:
Но я бы там еще во всех классах ее заменил на геттер типа inline bool isActive(){return mIsActive;} Компилятор сделает все быстро, но у нас тут свободы больше в будущем. Да, еще я ссылку в параметре сделал, иначе вы копии плодите. Плюс наследования с общим предком на всех в том, что все объекты (или указатели на них) можно свалить в 1 общий массив "предков". А дальше простым циклом пробегать по нему и выдавать команду типа "нарисуйся". В вашем варианте вы логику объекта выносите за пределы объекта. Т.е. это уже у вас процедурное построение, а не ООП. В ООП вернее было бы сделать метод у предка: Код:
Последний раз редактировалось alexzk; 03.10.2017 в 01:18. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]() Цитата:
Код:
Код:
Error C2039 'mIsActive': is not a member of 'std::vector<Enemy,std::allocator<_ Ty>>' |
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Да не суйте вы шаблону вектор. Там указывается предикат, а параметр сам подставится.
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.06.2017
Сообщений: 160
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа не хочет работать. | Renc | Visual C++ | 1 | 19.02.2013 12:19 |
Программа не хочет работать | OperaNeMini | Софт | 15 | 02.12.2012 16:24 |
Сортировка не хочет работать :( | Авторитет | Общие вопросы C/C++ | 1 | 05.05.2011 21:10 |
Не хочет работать iif | alco84 | Microsoft Office Access | 6 | 18.03.2010 09:48 |
Не хочет работать OpenPictureDialog | guffer | Общие вопросы Delphi | 4 | 08.07.2009 20:14 |