Problem mit Klasse
-
Hi!
Warum funktioniert folgender Code nicht?:typedef void bo_void; typedef bool bo_bool; typedef unsigned char bo_byte; typedef unsigned short bo_short; typedef signed int bo_integer; typedef float bo_float; typedef char* bo_string; #define BO_FALSE 0x0 #define BO_TRUE 0x1 class BlitzON { public: bo_bool BlitzON(bo_void); }; bo_bool BlitzON::BlitzON(bo_void) { return BO_TRUE; }
Arbeite mit DevC++. Debugger gibt mir folgendes aus:
15 C:\Eigene Dateien\BlitzON\Include\boMain.cpp
return type specification for
20 C:\Eigene Dateien\BlitzON\Include\boMain.cpp
return type specification for
/Eigene Dateien/BlitzON/Include/boMain.cpp C:\Eigene Dateien\BlitzON\Include\C
In constructor
21 C:\Eigene Dateien\BlitzON\Include\boMain.cpp
returning a value from amfg olli
-
Nabend,
Liegt es eventuell daran, dass du BlitzOn einmal als Klassenname: BlitzOn schreibst, vor dem :: aber BlitzON notierst.
-
bo_bool BlitzOn::BlitzON(bo_void) { return BO_TRUE; }
-
Hi!
Ja habe ich auch gerade herausgefunden, drotzdem Danke!
Habe jetzt den Code nochmal oben editiert, jetzt gibt ne neue Fehlermeldung
mfg olli
-
eine Klassenmethode darf nicht den gleichen Namen wie die Klasse haben, nur der Ctor und Dtor. Und wie wärs wenn du auch mein Posting lesen würdest?
-
Hi!
ja, aber BlitzON sollte der Construktor sein, also den gleichen Namen besitzen,
wie die Klasse selber.
mfg olli
-
aber keinen Rückgabetyp
-
Ohh vielen Dank! Man bin ich blöd *kopfglatsch*
-
Hi,
Bist du Vertex alias Latex aus dem
davidmoore forum?
Lustig wieviele Darkbasic Leute man hier so wiedertrifft.cu max
-
Master_Max: Ja Freax zwar aus dem BlitzForum aber ist ja egal
So da habe ich gleich noch ein paar andere Fragen (man, wenn man sich nur mit
der scheiß Theorie beschäftigt, bleibt anscheinend nix hängen)Ich wollte jetzt folgendes machen:
2 Methoden Namens CreateBank und FreeBank mit integrieren.typedef void bo_void; typedef bool bo_bool; typedef unsigned char bo_byte; typedef unsigned short bo_short; typedef signed int bo_integer; typedef float bo_float; typedef char* bo_string; #define BO_FALSE 0x0 #define BO_TRUE 0x1 #include <stdlib.h> struct boBANK { bo_integer Size; bo_void *Address; }; class BlitzON { public: BlitzON(); void Free(); boBANK *CreateBank(bo_integer Size); bo_void FreeBank(boBANK *Bank); }; BlitzON::BlitzON() { } void Free() { } boBANK* BlitzON::CreateBank(bo_integer Size) { boBANK *boBank; boBank = new(boBANK); boBank->Size = Size; boBank->Address = malloc(Size); return boBank; } bo_void BlitzON::FreeBank(boBANK *Bank) { free(Bank->Address); delete(Bank); }
Wer hätte es gedacht, es geht wieder nicht. Gibt delete eigentlich true oder
false zurück? Kann mir nochmal jemand bitte helfen?
Denn auf diese Art und Weise soll die komplette Klasse basieren.
mfg olli
Edit: So geht es jetzt, danke an ST für seine Hilfe!