Warum kann der Compiler die Größe von char [] = {..} in einem Strukturelement nicht wie bei einer Variablendeklaration festlegen? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
Was ist der Grund dafür, dass die Arraygröße nicht aus der Initialisierungszeichenfolge in der Mitgliedsvariablen abgeleitet werden kann? 3 AntwortenIch benutzestruct
mit initialisiertem Wert innerhalb einer Struktur, wie im folgenden Beispiel. Was ich nicht verstehen kann, ist, warum der Compiler die Größe von nicht festlegen kannchar[] = { .. }
in einem Strukturelement wie bei einer Variablendeklaration? Clang ++ gibt den folgenden Fehler aus:
Fehler: Die Array-Bindung kann nicht von einem Klasseninitialisierer abgeleitet werden
Code:
struct A
{
char s[] = { 'F', 'O', 'O', ... };
};