[array statici con elementi static] RISOLTO
Inviato: martedì 7 marzo 2017, 9:54
Salve a tutti. Avrei una curiosità da chiedervi inerente alla programmazione in c++. Mi è capitato in un programma di dover definire un array statico, i cui elementi dovrebbero essere variabili statiche la cui dimensione l'ho definita come variabile globale, ovvero:
Il compilatore mi da errore dicendomi che la dimensione del vettore (statico) non è costante, ovvero da come ho capito la dimensione dell'array statico viene stabilita a run time invece che a compile time. Se nel codice sopra levo lo spec. static tutto fila liscio. Ora so che la soluzione immediata è lavorare con array dinamici, ma non riesco a capire perchè nel caso usi static sorge un errore di run time, mentre quando tolgo static siamo esattamente in compile time. PS: per ovviare a tale inconveniente ho provato a introdurre la dimensione con un define oppure definendo const int dim = 10 e in tali casi fila liscio. Non riesco a capire il perchè in un caso siamo in run time e e nell'altro in compile time
Codice: Seleziona tutto
int dim = 10;
....................
void function
{
static int array[dim];
...............
}
int main()
{
...........
}