brauche Hilfe bei Array Klasse...
-
Das ist mein Code:
#include <assert.h> int size = 12; class Int_Array { public: Int_Array(int Gr = size); protected: int Groesse; int *IA; }; Int_Array::Int_Array(int Gr) { Groesse=Gr; IA = new int[Groesse]; assert(IA!=0); for(int i=0; i < Gr;++i) IA[i]=0; } int main(int argc,char *argv[]) { Int_Array Hallo; Hallo[0]=3; //funktioniert nicht! Warum??? return(0); }
COMPILER schrieb:
error C2676: Binaerer Operator '[' : 'class Int_Array' definiert diesen Operator oder eine Konvertierung in einen für den vordefinierten Operator geeigneten Typ nicht
Normal müsste das doch funktionieren, da wenn keine Größe angegeben wurde das Int_Array die größe 12 bekommt!?
oder denke ich da falsch???
wo ist mein Fehler???thx im voraus mfg hohesC
-
Woher sollte der Compiler wissen was du mit dem op[] meinst?
-
Hallo,
die Meldung sagt es doch schon: Du hast den operator[] nicht definiert.
-
wie definiere ich den operator []?
mfg hohesC
-
class Int_Array { public: // ... int& operator [] (std::size_t i) { assert(i < Groesse); return AI[i]; } const int& operator [] (std::size_t i) const { assert(i < Groesse); return AI[i]; } // ... };
kauf dir am besten erstmal nen buch über cpp ^^
-
@spastidernichtseinennamenschreibenkann ^^guter witz
thx @CarstenJ & @Shade Of Mine