Microsoft Visual C++ Fehler den ich nicht verstehe: ... Kein Operator definiert ...
-
lostast = *plostasteroid;definier mal nen operator... gib mal den Code der Klasse CAsteroid
-
sorry bin noch ein sehr großer anfänger!
Wie genau mach ich das?
Bitte erklär es mir!
-
Ich weiiß nicht ob es hilft aber die hpp datei sieht so aus
#ifndef GAME_HPP #define GAME_HPP #include "Player.hpp" #include "Asteroid.hpp" class CGame { public: CGame (); void Init (); void Run (); void Quit (); private: void ProcessEvents (); void SpawnAsteroids (); void RenderAsteroids (); void CheckCollisions (); int lostast; CAsteroid *plostasteroid; CPlayer *m_pPlayer; // Spieler-Instanz CSprite *m_pSpriteBackground; // Sprite für den Hintergrund CSprite *m_pSpriteAsteroid; // Sprite für die Asteroiden float m_fAsteroidTimer; // Zeitgeber für nächsten Asteroiden bool m_bGameRun; // Läuft das Spiel noch? list<CAsteroid> m_AsteroidList; // Liste der Asteroiden };#endif
-
such mal in allen .cpp/.h/.hpp Dateien nach einer Klasse die etwa mit CAsteroid beginnt.
So sollte die Klasse ca. aussehen:
class CAsteroid { //... };Du solltest lieber erstmal C++ lernen, bevor du dich mit der Spieleprogrammierung beschäftigst.
Und wenn du schnell ein 2D-3D Spiel programmieren möchtest, dann schau dir mal Blitzbasic oder eine andere Version an.sorry bin noch ein sehr großer anfänger!
..
-
Laut dem Buch ist es der Richtige Moment um anzufangen ein Spiel zu programmieren! Kann sein das ich etwas übertrieben hab!
Sag doch gleich dass du die Klasse willst
:#ifndef ASTEROID_HPP #define ASTEROID_HPP #include "Sprite.hpp" class CAsteroid { public: void Init (CSprite *pSpriteAsteroid, float fXPos, float fYPos); void Update (); void Render (); bool IsAlive () {return m_bIsAlive;} void SetAlive (bool bIsAlive) {m_bIsAlive = bIsAlive;} SDL_Rect GetRect () {return m_Rect;} private: CSprite *m_pSpriteAsteroid; // Zeiger auf Asteroiden-Sprite float m_fXPos; // X-Position des Asteroiden float m_fYPos; // Y-Position des Asteroiden float m_fAnimPhase; // Akt. Animationsphase des Asteroiden bool m_bIsAlive; // "Lebt" der Asteroid noch? SDL_Rect m_Rect; // Rect des Asteroiden int lostasteroid; // Verloren Asteroiden }; #endif
-
Was soll denn die fehlerhafte Codezeile überhaupt für einen Sinn machen? Wenn ich das richtig sehe, dann ist "lostast" eine int Variable und "*plostasteroid" ist vom Typ CAsteroid. Wie soll das klappen und was soll das bringen?
-
KPC schrieb:
Was soll denn die fehlerhafte Codezeile überhaupt für einen Sinn machen? Wenn ich das richtig sehe, dann ist "lostast" eine int Variable und "*plostasteroid" ist vom Typ CAsteroid. Wie soll das klappen und was soll das bringen?
ja, es muss wahrscheinlich vom gleichen Typ sein.
Da steht ja bereits in der Fehlermeldung, hab ich auch übersehen
-
was muss ich also machen

-
greece57 schrieb:
was muss ich also machen

Die Finger von Code lassen, den du nicht mal ansatzweise verstehst.
Wie hier der richtige Code aussehen muss, hängt davon ab, was dieser Code tun soll. Und das kannst nur du wissen. Wir können dir jetzt einen Haufen Änderungen vorschlagen, die alle syntaktisch richtig wären und sich compilieren liessen. Aber ob der Code dann das tut, was du willst, ist doch sehr unwahrscheinlich.
Also raus damit: Was soll das ganze?
-
Ärgert sich noch jemand darüber, dass zu diesem Code:
CSprite *m_pSpriteAsteroid; // Zeiger auf Asteroiden-Sprite float m_fXPos; // X-Position des Asteroiden float m_fYPos; // Y-Position des Asteroiden float m_fAnimPhase; // Akt. Animationsphase des Asteroiden bool m_bIsAlive; // "Lebt" der Asteroid noch? SDL_Rect m_Rect; // Rect des AsteroidenDAS dazugeschrieben wird:
int lostasteroid; // Verloren AsteroidenIch könnte in die Tischkante beißen, wenn ich sowas sehe.
-
danke für deine Hilfe ich weiß jetzt was ich machen muss

Das Projekt hab ich zwar eh schon aufgegeben weil es einfach noch zu schwer für mich ist aber ich würd trotzdem gern erfahren was ich machen muss