mostwanted90
Grünschnabel
Hi@all,
Ich hab mal wieder ein Problem in c++ (wie immer halt)
:suspekt:
Diesmal lautet die Aufgabe
1. Erstelle eine Klasse CINtAray,die eine beliebige Anzahl von int-Zahlen speichern kann. Es sollen mindestens folgende Methoden implementiert werden:
-CIntArray(Groesse, Blockgroesse)
-Copy-Konstruktor (dieser Würde in diesem Fall dann so aussehen: ? CIntArray(CIntArray) oder?
-Zuweisungsoperator
-Add(Zahl)
-GetSize
-SetAt(Index, Zahl)
-Ausgabe()
Es soll im Konstruktor ein Speicher mit der übergebenen Größe angelegt werden. Reicht dieser Wert nicht mehr aus soll ein größerere angelegt werden und die Zahlen umkopiert werden. Die Blockgroesse gibt vor um wieviel der Speicherbereich wachsen soll.
2. Schiebe eine Funktion Eingabe, mit der eine beliebige Anzahl von Zahlen dem Array hinzugefügt werden kann,ein.
3. Überlade den Operator [] so dass folgendes möglich ist:
CIntArray;
Array.Add(1);
Array.Add(2);
Array.Add(3);
array[2] = 5;
int Zahl = Array[2];
Mein erstes Problem liegt darin: Das Array soll im Konstrruktor angelegt werden.
Wenn ich mein Quellcode compilieren will kommen folgende fehler.
error C2057: Konstanter Ausdruck erwartet
error C2466: Reservierung eines Feldes der konstanten Groesse 0 nicht moeglich
error C2133: 'pArray' : Unbekannte Groesse
Es ist klar das das Array einen Konstanten Wert braucht aber wieso Fehler2?(Ich gebe in meiner Main funktion der Variablen Groesse den Wert 10 und der Debugger sagt auch das Groesse=10 ist.)
Wie bekomm ich es dann hin das ich Groesse verändern kann aber trotzdem ein Array von der Größe "Groesse" erzeugen kann?
Danke schon einmal im Voraus
mfg Most
Ich hab mal wieder ein Problem in c++ (wie immer halt)
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
:suspekt:
Diesmal lautet die Aufgabe
1. Erstelle eine Klasse CINtAray,die eine beliebige Anzahl von int-Zahlen speichern kann. Es sollen mindestens folgende Methoden implementiert werden:
-CIntArray(Groesse, Blockgroesse)
-Copy-Konstruktor (dieser Würde in diesem Fall dann so aussehen: ? CIntArray(CIntArray) oder?
-Zuweisungsoperator
-Add(Zahl)
-GetSize
-SetAt(Index, Zahl)
-Ausgabe()
Es soll im Konstruktor ein Speicher mit der übergebenen Größe angelegt werden. Reicht dieser Wert nicht mehr aus soll ein größerere angelegt werden und die Zahlen umkopiert werden. Die Blockgroesse gibt vor um wieviel der Speicherbereich wachsen soll.
2. Schiebe eine Funktion Eingabe, mit der eine beliebige Anzahl von Zahlen dem Array hinzugefügt werden kann,ein.
3. Überlade den Operator [] so dass folgendes möglich ist:
CIntArray;
Array.Add(1);
Array.Add(2);
Array.Add(3);
array[2] = 5;
int Zahl = Array[2];
Mein erstes Problem liegt darin: Das Array soll im Konstrruktor angelegt werden.
Code:
CIntArray::CIntArray(int Groesse,int Blockgroesse)
{
CIntArray pArray[Groesse];
....
}
error C2057: Konstanter Ausdruck erwartet
error C2466: Reservierung eines Feldes der konstanten Groesse 0 nicht moeglich
error C2133: 'pArray' : Unbekannte Groesse
Es ist klar das das Array einen Konstanten Wert braucht aber wieso Fehler2?(Ich gebe in meiner Main funktion der Variablen Groesse den Wert 10 und der Debugger sagt auch das Groesse=10 ist.)
Wie bekomm ich es dann hin das ich Groesse verändern kann aber trotzdem ein Array von der Größe "Groesse" erzeugen kann?
Danke schon einmal im Voraus
mfg Most