Buon post ferragosto, mi trovo con un dubbio/problema che non riesco a sfoltire.
Ho creato un tipo struttura ricetta per memorizzare dei dati (nome, temperatura, durata)
immaginatevi una ricetta che è composta appunto dal nome del cibo da cuocere, la temperatura di cottura e la durata.
Temperatura e durata possono essere più di uno quindi ho usato un array di int.
L'ho definita così, prendendo spunto dalla dispensa universitaria che avevo.
typedef struct {
String nome;
int temperatura[5];
int durata[5];
} ricetta;
ricetta ricettario[5];
quindi la variabile ricettario[] è un array di ricetta.
Nel mio sketch viene passato l'array ad una funzione che fa delle cose e tutto ok, l'ide di arduino compila e funziona tutto correttamente.
Il primo problema ce l'ho con l'editor Sublime text 3 che uso per editare e compilare, nel momento in cui ho creato la funzione che riceve come argomento l'array di ricetta, compilando mi restituisce un sacco di errori tra cui
redeclared as different kind of symbol
previous declaration
comunque ide arduino compila, carica e il programma funziona perfettamente quindi comincio ad indagare cosa potrebbe essere.
Leggendo scopro che in realtà sulla pagina del playground nonché sul libro "linguaggio C" Kernigan/Ritchie la dichiarazione corretta é:
typedef struct ricetta{
String nome;
int temperatura[5];
int durata[5];
};
ricetta ricettario[5];
ed effettivamente leggendo anche altre fonti scopro che è la versione giusta, in quanto la versione precedente dovrebbe creare una variabile ricetta al che mi chiedo come facesse a funzionare ma sopratutto con questa dichiarazione l'ide di arduino mi restituisce un warning (ma funziona correttamente)
warning: 'typedef' was ignored in this declaration
quindi mi trovo un po' spiazzato perchè non capisco quale sia la definizione giusta, il motivo del warning che comunque risolvo togliendo il typedef ( :o mah??)
In un'altra pagina trovo un ulteriore metodo per definire le strutture...
Sono confuso, confido in un vostro chiarimento. Grazie
allego lo sketch completo anche se sarà inutile e forviante, troppe righe e non ancora completamente commentato nei punti che servirebbero.