Errore variabile extern

di Anonimizzato18856 il
4 risposte
Salve,
voglio settare una vairabile denominata size, per modificare dei parametri in più file.
Nel main() la definisco:
int size=200;
volatile short X [200][4], Y[size][1], X_T[4][size], mag[4], acc[3] ;
volatile long int  prod2[4][1], prod [4][4], v[4][1], Inv[4][4];
Negli altri:
extern int size;
extern volatile short X [200][4], Y[size][1], X_T[4][size], mag[4];
extern volatile long int  prod2[4][1], prod [4][4], v[4][1], Inv[4][4];
Mi da l'errore nella seconda riga:
Multiple markers at this line
- variably modified 'X_T' at file scope
- variably modified 'Y' at file scope

Sapete il perchè??

4 Risposte

  • Grazie per la risposta. Mi puoi dire in quali casi potrei utilizzarla??... non è granchè chiaro...
  • Il compilatore MS non li ha mai "sopportati" ...
  • oregon ha scritto:


    Il compilatore MS non li ha mai "sopportati" ...
    ...in ottima compagnia di praticamente tutti gli altri compilatori mainstream (eccetto il costoso front-end Comeau) e di un intero universo di cross-compiler.

    I VLA sono solo una pessima e deprecatissima invenzione di Numerical C e quindi del GCC (che lungo la sua disorganizzatissima crescita ha assorbito perfino i suoi stessi fork, come egcs: un case study più unico che raro nel campo degli esempi negativi di software engineering) e costituiscono una vera e propria negazione dei principi di base ai quali si sono ispirati i creatori del linguaggio Kernighan e Richie.

    Sono finiti inopinatamente nello standard C99 per uno dei tanti (troppi) colpi di mano del comitato standardizzatore, che hanno provocato di fatto il fallimeno di tale standard in mezzo ad uno strascico interminabile di polemiche e discussioni. Si veda, tra gli innumerevoli, questo giustamente famoso thread.
Devi accedere o registrarti per scrivere nel forum
4 risposte