ich kann nicht herausfinden, warum ich diesen Compiler Fehler. Ich habe i
in der for-Schleife deklariert, aber meine Steueranweisung sieht es nicht.Fehler: ‚i‘ nicht deklariert (erste Benutzung in dieser Funktion)
Der Fehler auftritt, auf dieser Linie: if (mystring[cmd_index][i] == '\\')
/*
* Check for the " character in the mystring
* and remove the character if it doesn't have the delimiter
*/
for (int i = 0; i < strlen(mystring[cmd_index]); i++) {
if (mystring[cmd_index][i] == '\\') {
i++;
} else
if (mystring[cmd_index][i] == '"') {
printf("HELLO");
if (i != strlen(mystring[cmd_index] - 1)) {
shiftLeft(mystring[cmd_index], i + 1, 1);
} else {
mystring[cmd_index][i] = '\0';
}
}
}
Edit1: Ich bin mit gcc
Version 5.4.0
Edit2: Ich habe den gleichen Code kopiert und eingefügt es direkt unter dem Original. Dann hat das Original auskommentiert. Es kompiliert jetzt. Aber wenn ich dies rückgängig mache und den ursprünglichen Code verwende, wird es nicht erneut kompiliert. Warum??
Welche Compiler und Version von C verwenden Sie? – babon
Ich nehme an, Sie verwenden 'i' nach der Schleife, wo es nicht definiert ist. Bitte poste einen MCVE ([MCVE]) und die Fehlermeldung mit Zeilennummer. –
Deklarieren 'int i;' vor der for-Schleife und ändern die for-Schleife in 'für (i = 0; i
hmofrad