Il codice seguente dovrebbe generare un errore, poiché non è possibile che il compilatore possa conoscere la dimensione dell'array durante la compilazione.Perché questo codice non genera un errore sull'utilizzo di una dimensione di matrice variabile?
int f;
std::cin >> f;
int c[f];
c[100] = 5;
sto compilazione con gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 e non si limita a compilare, ma funziona in qualche modo.
Come mai?
Vedere [Does "int size = 10;" produce un'espressione costante?] (Http://stackoverflow.com/q/21273829/1708801) per molti più dettagli su questo argomento. –