Fråga : C++-kompilatorfel C2039

1>. \ skrivar \ northrend \ icecrown_citadel \ frozen_halls \ halls_of_reflection \ halls_of_reflection.cpp (748): fel C2039: ”SummonGameobject”: är inte en medlem av 'Creature'
1> c:\documents and settings\latest +kortoc \ master \ src \ game \ Creature.h (390): se att förklaringen av 'Creature'

Creature.h (fodra 390) = klassificerar MANGOS_DLL_SPEC-varelsen: offentliga Unit

Could som någon behar, förklarar hur man gör ”SummonGameobject” en medlem av varelse? Förlåta mig, I-förmiddag ganska C++en newbie.
" klar "

Svar : C++-kompilatorfel C2039

Sida: Du som annat projekterar, har antagligen genomfört SummonGameObject, som en statisk elektricitetmetod i WorldObjecten klassificerar.

GameObject* WorldObject:: SummonGameobject (uint32 ID, flöte x, flöte y, flöte z, flöte metar, despwtime uint32),

Detta fodrar ger emellertid intrycket att det är non-statisk elektricitet, men min grova gissning är att det bör vara statisk elektricitet, därför att det verkar för att ta GameObjects ID, som stativ för parametern GO_ICE_WALL för lek anmärker först ice_wall. Denna metod är den vanliga globala referensmetoden som lokaliserar registerleken anmärker och gör därför avkänning att vara statisk elektricitet, om inte ofcourse en worldobject är en sammansatt lek anmärker samlat av annan lek anmärker.

om (pGate GameObject* = m_creature->SummonGameObject (GO_ICE_WALL, 5540.39f, 2086.48f, 731.066f, 1.00057f, 0))

 Kanske du kan kontrollera med annan projekterar och ser hur de har gjort den. BTW om SummonGameobject kan gå en GameObject tillbaka som inte kan alltid vara WorldGameObject därefter den återgång typen, bör vara a bet strängare för att undvika mer ytterligare unnessary typecasting och för att göra följande för att kodifiera mer typesafe. Annorlunda den gör antagligen mer avkänning att sätta den i snarlika GameObject än WorldGameObject.

Den kunde vara så enkel som kopiera till Worldobject.h/cpp (om de är namnger). Annorlunda du bör försök att ha din egna design, som du kan se passformen. Starta, genom precis att definiera den i varelse, om du behöver den, någon annanstans som du kan flyttningen det till basera klassificera och refactoraccordingle.

Skulle har mindre av en gissninglek, hade dig att ha postat källan kodifierar…,

Andra lösningar  
 
programming4us programming4us