My Struct sieht wie folgt aus:Fehler: flexibel Arraymitglied nicht am Ende der Struktur
typedef struct storage {
char ***data;
int lost_index[];
int lost_index_size;
int size;
int allowed_memory_key_size;
int allowed_memory_value_size;
int memory_size;
int allowed_memory_size;
} STORAGE;
Die im Fehler bekommen ist „Fehler: flexibel Arraymitglied nicht am Ende der Struktur“. Ich bin mir bewusst, dass dieser Fehler durch Verschieben von int lost_index[]
am Ende von struct gelöst werden kann. Warum sollte ein flexibles Array-Element am Ende von struct sein? Was ist der Grund?
Da dies Duplikat einer anderen Frage angenommen, tatsächlich ich nicht gefunden habe Antworten, die ich wirklich gebraucht, Antworten auf ähnliche Frage nicht den Grund die Compiler steht hinter beschreiben Fehler zu werfen ich gefragt.
Dank
Mögliche Duplikate von [Was ist die Ursache für flexible Array-Member nicht am Ende der Strukturfehler?] (Http://stackoverflow.com/questions/11180378/what-is-the-cause-of-flexible-array- member-not-at-end-of-struct-Fehler) – jboockmann
@pytheos Nicht wirklich. Diese Frage fragt nach der Ursache hinter der Art, wie sie entworfen wurde. :) –
In dieser Antwort habe ich keine Erklärung gefunden, warum es verursacht, was Compiler macht, um diesen Fehler zu werfen. –