prototype does not match any in class but it seem to be coicident. Why???

Hello,
I'm develop simply fifo class.
When compile it say that prototype do not match any in class, but it is coincident.
Why??

tipi_di_dati_xome.h

//Struttura del pacchetto
typedef struct{
    String n_pacchetti;
    String tipo_device;
    String destinatario;
    String time_stamp;
    String payload;
    String lunghezza_payload;
} _tipo_pacchetto_completo;

coda_fifo.h

#ifndef FIFO_H
#define FIFO_H
[b]
class _classe_fifo{[/b]
#include "Arduino.h"  
#include "tipi_di_dati_xome.h"

//puntatore e dimensione fifo
byte Fifo_Size = 0;
int  Fifo_Head = -1;

//Pacchetto vuoto
_tipo_pacchetto_completo pacchetto_vuoto{"","","","","",""};

public:
_tipo_pacchetto_completo Read_from_FIFO();

private:

};

#endif

coda_fifo.cpp

#include "Arduino.h"
#include "coda_fifo.h"
#include "tipi_di_dati_xome.h"



//Legge un elemento dalla FIFO
_tipo_pacchetto_completo _classe_fifo::Read_from_FIFO();
{
  
//Creo una variabile di tipo pacchetto
_tipo_pacchetto_completo pacchetto;
  
   if (Fifo_Head >= 0)
      {
        //Leggo il pacchetto
        pacchetto= TX_FIFO[Fifo_Head];

        //Cancello la posizione appena letta
        TX_FIFO[Fifo_Head] = pacchetto_vuoto;

        //Aggiorno i puntatori
        Fifo_Head--;
        Fifo_Size--;

        //restituisco il pacchetto
        return pacchetto;          
      }
    else
        //se la coda è vuota restituisco il pacchetto vuoto
        return pacchetto_vuoto;        
}

pinkfloyd11:
but it is coincident.

What does that mean? Post the actual, complete error messages from the IDE. Post them in code tags.

typedef struct{
    String n_pacchetti;
    String tipo_device;
    String destinatario;
    String time_stamp;
    String payload;
    String lunghezza_payload;
} _tipo_pacchetto_completo;

what platform do you plan to run this on? That's a lot of strings and it looks like you are headed for a train wreck. Consider using type uint32_t for timestamps (as they are) and char arrays for your strings.

class _classe_fifo{[/b]
#include "Arduino.h"  
#include "tipi_di_dati_xome.h"

//puntatore e dimensione fifo

why are you using this unusual method to include those libraries? Where have you seen that commonly done?

Hi at all

this will run on ATMEGA328p.

It is first version not still optimized.

I'm using "tipi_di_dati_xome.h" instead of <tipi_di_dati_xome.h> because files are locate in the same folder of .ini

When compile it say that prototype do not match any in class, but it is coincident.
Why??

means that prototipe:
_tipo_pacchetto_completo Read_from_FIFO();
and function written in .cpp file:
_tipo_pacchetto_completo _classe_fifo::Read_from_FIFO();

appeare to be written correctly...

So which is the real problem??

Can you just present your code in a single compilable file. in other words, forget all that #include nonsense for now and try to get your code compilable using only one file.