Orioner hat geschrieben: ↑Mi Sep 02, 2020 9:24 pm
Warum bekomme ich bei folgendem Code:
Code: Alles auswählen
char drillCompanyName[0][] = "Deep Throat Inc.";
char drillCompanyName[1][] = "Tief & Schnell AG";
char drillCompanyName[2][] = "Turbo & Drill GmbH";
Immer diese Fehlermeldungen:
Error E2453 main.c 92: Size of the type 'signed char[]' is unknown or zero
Error E2445 main.c 92: Variable 'drillCompanyName' is initialized more than once
Error E2275 main.c 92: { expected
Die Lösung hat mfro ja bereits geschrieben.
Die Antwort auf die Frage: char <IDENTIFIER> ist eine Deklaration von Identifier. Du sagst dem Compiler "Hör zu, ich möchte, dass Dir den neuen Identifier vorstellen, der da drillCompanyName heißt". Und dann kommt das in der nächsten Zeile wieder und der Compiler sagt: "Hey, den kenne ich aber schon - meint drillCompanyName jetzt die eine oder die andere Variable? Kapier ich nicht."
Du möchtest EINE Variable deklarieren und da sie ein Array ist, möchtest Du das EINE Array initialisieren - so wie mfro das macht. Oder Du möchtest den drei Elementen etwas zuweisen.
Code: Alles auswählen
char * drillCompanyName[3]; // Deklaration ohne Initialisation
drillCompanyName[0] = "Deep Throat Inc."; // kein char drillCompanyName, da der Identifier nicht neu deklariert/vorgestellt wird.
drillCompanyName[1] = "Tief & Schnell AG";
drillCompanyName[2] = "Turbo & Drill GmbH";
Was genau macht eigentlich eine Bohr-Gesellschaft, die Deep Throat heißt? Wenn die Zahnarztzubehör liefern, könnte das in einem klassischen Horrorfilm enden oder handelt es sich hier um ein anderes Filmgenre?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.