anoniem Geplaatst: 10 juni 2004 Delen Geplaatst: 10 juni 2004 Als je een functie hebt met als return waarde een eigen klasse en er gaat iets fout in de functie dan wil ik null teruggeven zodat de aanroepen weet hoe het zit. (Zo werkt het in Java tenmisnte :D) Hoe doe ik dat in C++? Quote Link naar reactie
anoniem Geplaatst: 11 juni 2004 Auteur Delen Geplaatst: 11 juni 2004 eeeuh: return NULL; return FALSE; return 0; return -1; of bedoel je dat niet ? :roll: Quote Link naar reactie
anoniem Geplaatst: 11 juni 2004 Auteur Delen Geplaatst: 11 juni 2004 Dat werkt dus niet, want NULL, 0 en -1 zijn intergers en FALSE is een boolean en de return waarde van m'n functie is van het type MP3 (mijn klasse). :( Quote Link naar reactie
anoniem Geplaatst: 11 juni 2004 Auteur Delen Geplaatst: 11 juni 2004 [quote:7673b1ddf1="c.j.krul"]Dat werkt dus niet, want NULL, 0 en -1 zijn intergers en FALSE is een boolean en de return waarde van m'n functie is van het type MP3 (mijn klasse). :([/quote:7673b1ddf1] Is het niet zo dat je in pricipe een pointer naar het object MP3 teruggeeft? In dat geval zou je een NULL pointer terug kunnen geven. Eventueel typecasten naar MP3. My 2 cents. Quote Link naar reactie
anoniem Geplaatst: 12 juni 2004 Auteur Delen Geplaatst: 12 juni 2004 Ik ben nog niet met pointers bezig. Daar zullen we dan meer eens mee beginnen :) Quote Link naar reactie
anoniem Geplaatst: 16 juni 2004 Auteur Delen Geplaatst: 16 juni 2004 Ga maar snel pointers leren anders krijg je het nog lastig in c++ :) In JAVA is een null pointer een object (reference type) en in c++ is het een harde pointer (value type). Het idee is hetzelfde, alleen de uitvoering is anders. Gebruik in c++ alleen een null pointer als je functie een object return value heeft. Dat heb jij dus, dus je kunt rustig de waarde (null) teruggeven, dat wordt gewoon geaccepteerd. Vervolgens kun je dit makkelijk contoleren (ff snel uit het hoofd): [code:1:abe86d5ac6] //functie prototype MP3 LoadMP3(char* filename); //main int main { char *fileName = "c:\test.mp3"; MP3 myMP3 = new MP3(fileName); if ((LoadMP3(myMP3.fileName) != null)) { //iets zinnigs hier } else { throw new Exception("Error"); } return 0; } [/code:1:abe86d5ac6] Quote Link naar reactie
anoniem Geplaatst: 2 juli 2004 Auteur Delen Geplaatst: 2 juli 2004 [quote:1ffb6c7928="c.j.krul"]Dat werkt dus niet, want NULL, 0 en -1 zijn intergers en FALSE is een boolean en de return waarde van m'n functie is van het type MP3 (mijn klasse). :([/quote:1ffb6c7928] Ja Grapjas, hoe denk je dan dat het in JAVA is geregeld ! Quote Link naar reactie
anoniem Geplaatst: 3 juli 2004 Auteur Delen Geplaatst: 3 juli 2004 [quote:1ed21e0f74="capt.501"]Ja Grapjas, hoe denk je dan dat het in JAVA is geregeld ![/quote:1ed21e0f74] Dat had w.roosenburg al netjes uitgelegd (Nog bedankt trouwens :)) dus ik heb nu een beetje een idee hoe dat geregeld is. Maar als je het nog beter / vollediger uit wil leggen dat mag dat natuurlijk :D Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen