Pytanie : C++ kompilator błąd C2039

1>. \ pismo \ northrend \ icecrown_citadel \ frozen_halls \ halls_of_reflection \ halls_of_reflection.cpp (748): błąd C2039: "SummonGameobject": być członek 'Creature'< br/>1> c:\documents and settings\latest +kortoc \ master \ src \ game \ Creature.h (390): widzieć deklaracja 'Creature'< br/>
Creature.h (linia 390) = klasowy MANGOS_DLL_SPEC Istota: jawny Unit

Could zadawalać zadawalać wyjaśniać dlaczego "SummonGameobject" członek istota? Wybaczać, i być zupełnie the C++ newbie.

Odpowiedź : C++ kompilator błąd C2039

Strona: Ty inny projekt prawdopodobnie uprawomocniać SummonGameObject jako statyczny metoda w the WorldObject klasa.

GameObject* WorldObject:: SummonGameobject (uint32 id, pływakowy x, pływakowy y, pływakowy z, pływakowy kąt, uint32 despwtime)

Ten linia dawać the wrażenie że ono być non-ładunek elektrostatyczny, ale mój szorstki domysł być że ono musieć statyczny ponieważ ono wydawać się GameObject's Id najpierw parametr GO_ICE_WALL stojak dla gemowy przedmiot ice_wall. Ten metoda być the zwykły Globalny lookup metoda który lokalizować metrykalny gemowy przedmiot i tym samym robić sens statyczny, jeśli ofcourse worldobject być złożony gemowy przedmiot komponować inny gemowy przedmiot.

jeżeli (GameObject* 1.00057f = m_creature->SummonGameObject (GO_ICE_WALL, 5540.39f, 2086.48f, 731.066f, 1.00057f, (0)))

 Być może ty móc z the inny projekt i jak robić ono. BTW, jeżeli SummonGameobject móc GameObject który móc zawsze WorldGameObject wtedy the powrotny typ musieć trochę trochę dalszy unnessary typecasting i natępny kod więcej typesafe. Inaczej ono prawdopodobnie robić więcej sens ono w GameObject raczej WorldGameObject.

Ono móc równie prosty kopiowanie Worldobject.h/cpp (jeżeli ono być the imię). Inaczej ty musieć twój swój projekt gdy ty móc napad. Zaczynać właśnie ono w Istota, jeżeli ty potrzebować ono gdzie indziej ty móc ono the podstawowy klasa i refactor accordingle.

Być kod domysł gra, miewać ty the źródło kod…

Inne rozwiązania  
 
programming4us programming4us