Ich habe einen C-Code geschrieben. Wenn ich es unter Linux kompiliere, wird in der Header-Datei der folgende Fehler angezeigt: storage class specified for parameter i32 , i8 und so weiter
typedef int i32;
typedef char i8;
Ich habe einen C-Code geschrieben. Wenn ich es unter Linux kompiliere, wird in der Header-Datei der folgende Fehler angezeigt: storage class specified for parameter i32 , i8 und so weiter
typedef int i32;
typedef char i8;
externin der Klassendefinition (rutscht verlegen ab, die Wangen in Flammen)
Antworten:
Möglicherweise haben Sie irgendwo ein Semikolon in einer Header-Datei vergessen. Stellen Sie sicher, dass jede Zeile mit endet;
Ich hatte die gleiche Erfahrung. Das Problem lag bei der Funktionsprototypdeklaration in der Headerdatei, bei der am Ende der Funktionsdeklaration ein Semikolon fehlte.
Die Funktion wurde in den Kompilierungsprotokollen kurz vor dem Fehlerausschnitt als "In Funktion ..." angegeben
Hoffe das hilft!!
Ich habe den gleichen Fehler einmal gemacht. Die Lösung bestand darin, in Dateien zu suchen und nach ausstehenden Anweisungen zu suchen (z. B. nach einer nicht geschlossenen Klammer oder einem fehlenden Semikolon). Normalerweise handelt es sich um einen trivialen Fehler, aber der Compiler beschwert sich.
Die schlechte Nachricht ist, dass es sich nicht immer in der richtigen Zeile (oder sogar in der richtigen Datei!) Beschwert. Die gute Nachricht ist, dass in diesen Fällen etwas Nützliches steht wie:
WRONGFILE.h: In function ‘FUNCTION_OF_ANOTHER_FILE_WRT_WRONG_FILE’"
WRONGFILE:line:col: error: storage class specified for parameter ‘param’ before.
Gehen Sie und checken Sie diese andere gemeldete Datei ein.