Dzień dobry. Mam pytanie odnośnie dziwnej składni, którą zobaczyłem dzisiaj w Internetach. Chciałbym, żeby ktoś wytłumaczył mi, dlaczego to działa:
#include <stdio.h>
void fooBar(int* num)
{
printf("%d\n",*num);
}
void main()
{
fooBar(&(int){10});
}
chodzi mi głównie o tę linię:
fooBar(&(int){10});
i o 10 w nawiasie klamrowym. Dlaczego to działa tak jak działa i co oznaczałoby samo {10} nie zrzutowane na int?
Wiem, że w C++11 jest inicjalizacja poprzez nawiasy klamrowe i jeszcze mógłbym to zrozumieć jakoś, ale w języku C nigdy takich czarów nie widziałem.
Ktoś coś?
Dziękuję za zainteresowanie tematem :)