mam deklarowania struct w IDE (Netbeans) tak:Deklaracja strukturalna: Prawidłowy inicjator w deklaracji?
struct foo { size_t var = 1; }
I IDE mówi jego prawnym. Kompiluję projekt (jego statyczna lib ..) i kompilator mówi, że jest legalny (nie jęczy ani nie rzuca).
Teraz ponieważ jestem tylko testowanie składni w tym momencie muszę zapytać kogoś, kto może wiedzieć, czy to rzeczywiście działa, gdy idę do deklarowania struct tego tagu w moich procedurach tak:
struct foo myfoo;
Pytanie brzmi: czy to jest prawidłowy initalizer? (size_t var = 1
) lub jest kompilator po prostu głaszcząc moje ego tutaj? Nie znalazłem nic na google ani w dokumentacji takiej jak ta, więc domyślam się, że nie działa tak, jak mam nadzieję.
* edytuj So me and the Good "chłopcy tutaj", doszli do wniosku, że skompiluje się on w konfiguracji debugowania, ale nie w konfiguracji wydania. Kto powiedział, że jedna głowa jest lepsza niż kilka tysięcy? : D
zobaczyć powiązane pytanie http://stackoverflow.com/questions/330793/how- to-initialize-a-struct-in-ansi-c – TJD
@TJD Teraz to było szybkie i niesamowite! Dzięki. Ale wciąż nie rozumiem, dlaczego GCC i IDE puścili to bez jęku. Właśnie ostrzeliwałem ostrzeżenia w górę ... I wciąż słyszę świerszcze. lol. –
Jakiej wersji gcc używasz? Po prostu próbowałem z 4.4.3 i otrzymałem błąd "oczekiwano": ",", ",", "}" lub "__attribute__" przed "=" tokenem " –