Autor Wątek: C++ problem z this  (Przeczytany 596 razy)

Offline xair

  • Użytkownik

# Luty 27, 2009, 16:50:06
Witam.
Wywołuję funkcję
bulletModule->RegisterBulletCar( this );
z klasy BulletCar
kompilator zwraca mi:
invalid initialization of non-const reference of type 'BulletCar&' from a temporary of type 'BulletCar* const'|
no matching function for call to `BulletModule::RegisterBulletCar(BulletCar&)'|

funkcję RegisterBulletCar wywołuję wewnątrz klasy BulletCar.
Nie wiem jak ten problem rozwiązać

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Charibo

  • Redaktor

# Luty 27, 2009, 16:52:13
Skoro funkcja przyjmuje referencję, to raczej *this niż this. :)

Offline xair

  • Użytkownik

# Luty 27, 2009, 16:54:21
kiedy użyję
bulletModule->RegisterBulletCar( *this );
to zwraca:
In constructor `BulletCar::BulletCar(int, BulletModule*, Ogre::SceneManager*)':|
no matching function for call to `BulletModule::RegisterBulletCar(BulletCar&)'|
candidates are: void BulletModule::RegisterBulletCar(int*)|
« Ostatnia zmiana: Luty 27, 2009, 16:57:49 wysłana przez xair »

Offline .:NOXY:.

  • Użytkownik
    • Profil

# Luty 27, 2009, 16:57:57
XD nie widzisz ze podajesz za malo parametrow do funkcji? :]
Edit a nie sorry zle popatrzalem ;]

co to jest to int* ? :)

Offline xair

  • Użytkownik

# Luty 27, 2009, 17:06:35
tamta funkcja wygląda tak:
void BulletModule::RegisterBulletCar(BulletCar* car);
tworząc klasę BulletCar podaję jej w parametrach BulletModule a na koniec tworzenia ma się BulletCar zarejestrować w klasie BulletModule