Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: SDL_Surfacen palautus

UFo_x [10.06.2005 12:51:57]

#

Elikä ongelmana on että en saa palautettua SDL_Surfacea funktiosta niin, että pystyisin käyttämään sitä mainissa.
Olen koittanut palauttaa sitä näin:

return (const struct SDL_Surface &)MeterScreen;

Ja ottanut sen vastaan

SDL_Surface *mittari;
mittari=NopeusMittari.UseBlockMeter(ButtonUp);

mutta kääntäjä valittaa näin:
error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'struct SDL_Surface' (or there is no acceptable conversion)
Elikä ongelma näyttäisi olevan sellainen, että tämä SDL_surface tarvitsisi saada palautettua typedeffattuna...

Tässä vielä Lisää tietoa tuosta SDL_Surfacesta:
ttp://sdldoc.csn.ul.ie/sdlsurface.php

Edit:MeterScreen on myöskin SDL_Surface

Metabolix [10.06.2005 12:57:13]

#

Kummallinen yritys. Auttaisi, jos kertoisit, mikä tuo MeterScreen on tyypiltään (on niin hassu tyypinmuunnos, että ei voi tietää). Joka tapauksessa, sinun kuuluu palauttaa osoitin, koska mittari on myös osoitin. Eikä väliin pitäisi mitään tyypinmuunnosta tarvita.

Eli olisiko näin:

return &MeterScreen;

UFo_x [10.06.2005 13:01:48]

#

Ei näytä toimivan nuin valittaa
error C2664: '__thiscall SDL_Surface::SDL_Surface(const struct SDL_Surface &)' : cannot convert parameter 1 from 'struct SDL_Surface ** ' to 'const struct SDL_Surface &'
Reason: cannot convert from 'struct SDL_Surface ** ' to 'const struct SDL_Surface'
No constructor could take the source type, or constructor overload resolution was ambiguous

Metabolix [10.06.2005 13:21:12]

#

Mikä on tuon funktion palautusarvotyyppi (pitäisi olla SDL_Surface *) ja mikä tuo MeterScreen on tyypiltään? (Jos SDL_Surface, tuo ylläoleva pätee, muuten palautat sen ilman &-merkkiä).

UFo_x [10.06.2005 13:47:51]

#

Nyt sain tämän toimimaan tuon kohdan, mutta uusi ongelma on että ikkuna välkähtää vain hetken ruudulla.
Kiitos avusta... koitan taas ratkoa tätä seuraavaa ongelmaa itse ja jos en millään saa toimimaan niin tulen kysymään :D.

edit: Ongelma näytti olevan juuri tuossa palautusarvon tyypissä, jota en ollut osannut kirjoittaa oikein.

Metabolix [10.06.2005 13:55:25]

#

Sitä varten kannattaa katsoa vaikkapa SDL-opassarjaa ja sen perusteella tehdä viestinkäsittelysilmukka.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta