Warning Array

di il
3 risposte

Warning Array

Ciao a tutti

Ho concluso ora un programma in linguaggio C, e andando a compilare utilizzando -Wall, ho riscontrato diversi warning di questo tipo:

fine.c:446:2: warning: array subscript has type ‘char’ [-Wchar-subscripts]

Questo warning viene dato ad ogni riga che il mio array acquisisce un carattere,
ad esempio la riga in questione è:
	array_tmp[cs] = '[';   
oppure in righe di questo tipo (il simbolo "o" è una variabile char):
	array_tmp[cs] = o;
Dove array_tmp è il mio array dinamico, definito in questo modo (lngt_c è int):
	array_tmp = (char *) malloc (lngt_c+1);	
Visto che devo sbarazzarmi assolutamente di questi warning, avete qualche idea al riguardo?

3 Risposte

  • Re: Warning Array

    Una cosa che devi imparare e' comprendere le segnalazioni di errore (o di warning, come in questo caso)!

    Nella maggior parte dei casi e' tutto quello che serve. Come in questo caso!

    Il warning dice ... array subscript has type ‘char'

    Che cosa e' un array subscript?

    E' l'espressione tra le parentesi quadre che serve per indicare a quale elemento dell'array si vuole accedere.

    Quindi il warning sta' dicendo che l'espressione cs e' di tipo char.

    Ma se cs se e' d tipo char, come si fa a far si che cs non sia di tipo char?

    Banale!
  • Re: Warning Array

    E anche ... *perché* nel tuo programma cs è di tipo char ?
  • Re: Warning Array

    In effetti non mi ero accorto di aver messo un contatore in char, cosa abbastanza idiota. Grazie per la dritta boss!
Devi accedere o registrarti per scrivere nel forum
3 risposte