Guten Morgen,
ich habe ein konstantes Array, das ich indexweise beschreiben will:
enum zahlen_e
{
e_eins,
e_zwei,
e_drei,
};
const int lookuptable[] =
{
[e_eins]{ 1 },
[e_zwei]{ 2 },
[e_drei]{ 3 },
};
Es geht. Ich habe es durch ausprobieren herausgefunden, weil bei structs
benannte Fehler ja ähnlich gehen. Wie heißt dieses Konstrukt? Ich suche
einen Suchbegreiff, um im Standard/in den GNU-Erweiterungen Näheres
anzugucken.
Gast
#5923395
Das sagt der gcc, wenn man nen Standard vorgibt und Warnungen einschaltet:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Vllt. hilft dir das beim suchen.
Das Stichwort "designated initializer" nannte mh bereits. Die richtige Syntax sieht so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Im ISO-Standard (C11 und C18): 6.7.9 Initialization
Beitrag #5923408 wurde von einem Moderator gelöscht.
mh schrieb: > warning: obsolete use of designated initializer without '=' [-Wpedantic] Okay, diese Warnung gibt mein nicht mehr ganz taufrischer GCC nicht, trotz Wpedantic. mh schrieb: > designated initializer Danke für das Stichwort!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.