Errore variabile extern

di il
4 risposte

Errore variabile extern

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

  • Re: Errore variabile extern

    Grazie per la risposta. Mi puoi dire in quali casi potrei utilizzarla??... non è granchè chiaro...
  • Re: Errore variabile extern

    In realtà se il compilatore supporta i VLA (standard C99) allora (e purtroppo, aggiungo) si può ...

    https://en.wikipedia.org/wiki/Variable-length_arra
  • Re: Errore variabile extern

    Il compilatore MS non li ha mai "sopportati" ...
  • Re: Errore variabile extern

    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