Sprites drehen (SDL)



  • Erstmal auch ein großes Danke an dich, aber es kommen dieselben Fehler 😞

    vllt. liegt es an GetSurface?

    SDL_Surface GetSurface () {return m_pImage;}
    

    Weiß nichtmehr weiter Oo



  • Oh, tut mir leid... >_< not seen.
    Ist es denn nicht möglich, GetSurface() in einen Zeiger auf SDL_Surface zu verwandeln? Dann würden sich alle Probleme lösen... bevor du da mit void*-Adressen rumpfuschen musst 😃



  • m_pImage ist wohl ein Zeiger (auf eine SDL_Surface), wenns schon pImage heißt.

    Ursache: Konvertierung von 'SDL_Surface *' in 'const SDL_Surface' nicht möglich

    pImage ist ein SDL_Surface*, du versuchst aber eine SDL_Surface zurückzugeben.
    Der compiler versucht jetzt, das zu konvertieren, kann er natürlich nicht, und gibt die Fehlermeldung aus.

    Also:

    SDL_Surface* GetSurface () 
    {
    return m_pImage;
    }
    //statt
    SDL_Surface GetSurface () 
    {
    return m_pImage;
    }
    


  • Uchuujinsan schrieb:

    ...

    Den Tip habe ich ihm doch bereits gegeben... 😕



  • Ok Ich bin dank euch schonmal viel weiter gekommen 🙂

    (Ich bekomme nur noch einen Fehler ausgegeben ;))

    error C2102: '&' erwartet L-Wert

    m_pSpritePlayer = rotozoomSurface(&m_pSpritePlayer->GetSurface (), 1.0, 90.0, 1);
    

    hää? 😮



  • Nee, den Referenzoperator (&) brauchste ja nimma... deine (mem) fnc ist ja bereits ein Zeiger...



  • Wo siehst du da bitte einen Referenzoperator? Ich sehe da bloss einen Adressoperator.



  • Kóyaánasqatsi schrieb:

    Uchuujinsan schrieb:

    ...

    Den Tip habe ich ihm doch bereits gegeben... 😕

    Naja, ich dachte nicht das "Ist es denn nicht möglich, GetSurface() in einen Zeiger auf SDL_Surface zu verwandeln? " ironisch gemeint war, weil es ist nicht nur möglich, sondern es ist die einzige korrekte Lösung zu einem rein syntaktischem Problem 🙂

    Btw, eine Variable oder ein Rückgabewert mit SDL_Surface statt SDL_Surface* dürfte eigentlich immer und ausnahmslos falsch sein - SDL_Surface ist ein C-struct, keine C++-Klasse.
    Oder kennt jemand tatsächlich ne Möglichkeit wo das ansatzweise Sinn machen könnte...?



  • hustbaer schrieb:

    Wo siehst du da bitte einen Referenzoperator? Ich sehe da bloss einen Adressoperator.

    Ja du king, sorry für den Fehler 🙄



  • Kóyaánasqatsi schrieb:

    hustbaer schrieb:

    Wo siehst du da bitte einen Referenzoperator? Ich sehe da bloss einen Adressoperator.

    Ja du king, sorry für den Fehler 🙄

    Schreib halt einfach "&" wenn du nicht weisst wie das Ding an der Stelle heisst.
    Du King.
    🙄 🙄 🙄



  • Ja Maus, habe mich doch entschuldigt, brauchst mir ja nüt gleich innen Zeh beissen 😋



  • och nee jetzt kommt beim verknüpfen diese schei*e mit den unaufgelösten externen Verweisen Oo

    damit kann ich gar nichts anfangen 😞
    `Verweis auf nicht aufgelöstes externes Symbol "_rotozoomSurface" in Funktion ""private: void __thiscall CPlayer::ProcessMoving(void)" (?ProcessMoving@CPlayer@@AAEXXZ)".

    fatal error LNK1120: 1 nicht aufgelöste externe Verweise.`



  • Kóyaánasqatsi schrieb:

    Ja Maus, habe mich doch entschuldigt, brauchst mir ja nüt gleich innen Zeh beissen 😋

    Halt einfach's Maul Quasti!



  • @Red Joe
    Das ist nur ein kleiner Linker-Fehler, zeig mal deine Klassendatei (h und cpp).

    @hustbaer
    Wallum bittu so pöse tu mir?


Anmelden zum Antworten