Poniższy kod powinien generować błąd, ponieważ nie ma możliwości, aby kompilator znał rozmiar tablicy podczas kompilacji.Dlaczego ten kod nie powoduje błędu przy użyciu zmiennej wielkości tablicy?
int f;
std::cin >> f;
int c[f];
c[100] = 5;
Mam kompilacji z gcc (4.8.2-19ubuntu1 Ubuntu) 4.8.2 i nie tylko skompilować, ale działa jakoś.
Jak to się dzieje?
Zobacz [Czy "int size = 10;" daje ciągłe wyrażenie?] (Http://stackoverflow.com/q/21273829/1708801) o wiele więcej szczegółów na ten temat. –