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

question-closed wskaźnik na klasę w metodzie C++

Cloud VPS
0 głosów
4,397 wizyt
pytanie zadane 14 listopada 2016 w C i C++ przez xjakubekx Obywatel (1,280 p.)
zamknięte 14 listopada 2016 przez xjakubekx

////////////////////// PROBLEM ROZWIĄZANY! ///////////////////////////////////

Musiałem poprzedzić całą nową klasę informacją, że w dalszej części użyję CPlayer!

class CPlayer;




Witam,
mam mały problem na jaki nie mogę znaleźć odpowiedzi w internecie dlatego tutaj sie pytam, pewnie o banalna rzecz.

 

	///
	///Sprawdza czy zachodzi kolizja
	///
	void kolizja(CPlayer* _player); //ciało w cpp

Chcąc wywołać metodę która jako argument pobiera wskaźnik na CPlayer wyskakują mi błędy:

  • Error    C2660    'CFood::kolizja': function does not take 1 arguments
  • syntax error identifier 'CPlayer'

 

Wywołuję tę metodę w taki sposób:
 

	//OBIEKTY//
	CPlayer *player = new CPlayer;
	CFood *food = new CFood({ 500, 100 }, 5.0f, 2);


	food->kolizja(player);

 

Jak to mogę naprawić, zebym mógł wskazać na obiekt z którego pobieram dane i z nich licze czy wykona się dana kolizja?

Kody źródłowe:
-main ( http://wklej.org/id/2951322/ )
-CFood.h ( http://wklej.org/id/2951323/ )
-CFood.cpp ( http://wklej.org/id/2951324/ )

komentarz zamknięcia: Znalazłem rozwiązanie
komentarz 14 listopada 2016 przez adrian17 Mentor (354,700 p.)
Pokaż jeszcze CPlayer.h.

2 odpowiedzi

0 głosów
odpowiedź 14 listopada 2016 przez JAKUBW Nałogowiec (33,470 p.)

Wydaję mi się, że źle tworzysz obiekt

CPlayer *player = new CPlayer;

Brakuje ci nawiasów

CPlayer *player = new CPlayer();

 

komentarz 14 listopada 2016 przez xjakubekx Obywatel (1,280 p.)
nadal taki sam błąd
0 głosów
odpowiedź 14 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Jakiego IDE używasz? Próbowałeś jeszcze raz zabudować cały projekt?
komentarz 14 listopada 2016 przez xjakubekx Obywatel (1,280 p.)
Visual Studio ;/ tak i nic
komentarz 14 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Ciekawi mnie ten zapis:
CFood *food = new CFood({ 500, 100 }, 5.0f, 2);

Ponieważ konstruktor jest zdefiniowany tak:
CFood::CFood(sf::Vector2f _position, float _radius, int _mass)
Co tam zatem robią klamry?
komentarz 14 listopada 2016 przez easytodo Mądrala (5,380 p.)
Knayder pierwszy argument konstruktora to wektor 2 floatów, a więc klamry są jak najbardziej w porządku.
komentarz 14 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Pierwszy raz widzę że można tak definiować wektory :|
komentarz 14 listopada 2016 przez easytodo Mądrala (5,380 p.)
Można, potwierdzam :D
komentarz 14 listopada 2016 przez xjakubekx Obywatel (1,280 p.)
Podpatrzyłem od kolegi, fajny sposób na zapis wektorów :D
komentarz 14 listopada 2016 przez xjakubekx Obywatel (1,280 p.)
Dziękuję za fatygę, problem rozwiązany !
komentarz 14 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
A co sprawiało problem, bo mnie to ciekawi?
komentarz 15 listopada 2016 przez xjakubekx Obywatel (1,280 p.)

Musiałem poprzedzić całą nową klasę informacją, że w dalszej części użyję CPlayer!

class CPlayer;

 

komentarz 15 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Dziwne trochę, nigdy mnie to nie spotkało :P

Podobne pytania

0 głosów
2 odpowiedzi 1,370 wizyt
0 głosów
3 odpowiedzi 591 wizyt
0 głosów
1 odpowiedź 339 wizyt
pytanie zadane 29 marca 2016 w C i C++ przez niezalogowany

93,486 zapytań

142,420 odpowiedzi

322,771 komentarzy

62,900 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

Kursy INF.02 i INF.03
...