• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z usuwaniem obiektów z listy.

Object Storage Arubacloud
0 głosów
134 wizyt
pytanie zadane 30 kwietnia 2015 w C i C++ przez chomek Gaduła (4,500 p.)
edycja 30 kwietnia 2015 przez chomek

Witam,

Piszę gre coś na styl space shootera i napotkałem na mały problem, mianowice chce żeby gdy pocisk będzie się znajdował za polem widocznym dla gracza objekt Bullet był usuwany z listy ale gdy robie tak:

for (std::list<Bullet>::iterator i = bullets.begin(); i != bullets.end(); i++)
		{
			i->shoot();

			if (i->getPosition().y < view.getCenter().y - HEIGHT / 2 - textures["bullet"].getSize().y);
				bullets.remove(*i);

		}

to wywala błąd : error C2678: binary '==' : no operator found which takes a left-hand operand of type 'Bullet' (or there is no acceptable conversion) 

 

 

2 odpowiedzi

0 głosów
odpowiedź 30 kwietnia 2015 przez chomek Gaduła (4,500 p.)
 
Najlepsza

Udało mi się to rozwiązać trzeba było tylko zajrzeć do dokumentacji  :) i jak się okazało do usuwania obiektu używa sie erase();

Poprawiony kod:

for (std::list<Bullet>::iterator i = bullets.begin(); i != bullets.end(); i++)
		{
			i->shoot();

			if (i->getPosition().y < view.getCenter().y - HEIGHT / 2 - textures["bullet"].getSize().y)
			{
				bullets.erase(i);
				break;
			}
		}

 

0 głosów
odpowiedź 30 kwietnia 2015 przez Buby Pasjonat (19,590 p.)

Myślę, że zapomniałeś operatora mnożenia w miejscu:

HEIGHT / 2 * textures["bullet"].getSize().y

I kompilator nie wie co ma zrobić...

komentarz 30 kwietnia 2015 przez Buby Pasjonat (19,590 p.)
Lub jakiegokolwiek innego znaku, bo póki co to wygląda, jakbyś zapisał po prostu obok siebie dwie liczby, bez żadnej interakcji między nimi.
komentarz 30 kwietnia 2015 przez chomek Gaduła (4,500 p.)
Zapomniałem wipisać minusa normalnie w kodzie jest

 HEIGHT / 2 - textures["bullet"].getSize().y

więc nie o to chodzi :(

Podobne pytania

0 głosów
1 odpowiedź 392 wizyt
pytanie zadane 14 września 2021 w Python przez Gowi Użytkownik (830 p.)
0 głosów
1 odpowiedź 119 wizyt
pytanie zadane 27 kwietnia 2020 w Java przez danielo665 Obywatel (1,040 p.)
0 głosów
1 odpowiedź 661 wizyt
pytanie zadane 18 grudnia 2018 w Java przez mn130496 Gaduła (3,530 p.)

92,626 zapytań

141,485 odpowiedzi

319,841 komentarzy

62,006 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...