Char-Array Werte zuweisen?
-
Hallo,
ich habe eine Klasse, die unter anderem ein Char-Array als Attribut hat.
Jetzt will ich den Konstruktor implementieren und diesem Char-Array Werte zuweisen um genau zu sein lauter "0".
Ich habe es jetzt auf folgende Arten versucht, aber immer eine Fehlermeldung erhalten:
binaerWert[8] = "00000000";
oder
binaerWert [8] = {"0", "0", "0", "0", "0", "0", "0", "0"};
usw.
Kann mir bitte jemand sagen wie es richtig wäre?
In den Konsolen-Anwendungen habe ich es immer auf diese Weise gemacht. Jetzt da ich eine Win-Application programmieren will geht es nicht mehr. Weshalb?
-
Was kommt denn für eine Fehlermeldung?
Zur Not probier doch mal:
for(int i = 0; i<8; ++i) { binaerWert[i] = '0'; }oder:
binaerWert = { '0', '0', .. etc.) also mit einfachen Anführungszeichen.
-
"" => Zeichenkette ('\0' wird automatisch angefügt)
'' => Einzelnes ZeichenArray [1] = 'x' Ein Zeichen eingefügt
Array [1] = "x" Weist 2 Zeichen zu... (Also auch an die Stelle Array [2])Du überschreibst in beiden Initialisierungsvarianten den Speicher direkt hinter
deinem Array (Array [8]).Böse...
-
Dieser Fehler kommt:
[C++ Fehler] zahlenwandler.cpp(61): E2188 Ausdruckssyntax
Ok, diese Variante funktioniert:
for(int i = 0; i<8; ++i) { binaerWert[i] = '0'; }Aber diese Variante sollte dann doch Funktionieren:
binaerWert = {'0', '0', '0', '0', '0', '0', '0', '0', };
Tut sie jedoch nicht

-
Diese Initialisierungslisten stammen noch aus C-Zeiten und können nicht mit Konstruktoren angewendet werden. (btw, ist "binärWert" das Objekt von deiner Klasse oder nur ein Hilfskonstrukt?)
-
CS schrieb:
Diese Initialisierungslisten stammen noch aus C-Zeiten und können nicht mit Konstruktoren angewendet werden.
Ok...
binaerWert ist ein Attribut meiner Klasse
