Allora ragazzi ho realizzato questo programma che praticamente una volta inseriti in input nome e cognome di una persona mi stampa il suo relativo codice fiscale. Il problema è che mi da un errore strano che non si riferisce a nessuno stringa in particolare ovvero:
/tmp/ccERH8OQ.o: In function `main':
main.cpp.text+0x5c): undefined reference to `stampacodice(dati*)'
collect2: error: ld returned 1 exit status
Di seguito vi riporto il codice:
codice:
#include <iostream>
#include <string.h>
using namespace std;
struct dati
{
string nome;
string cognome;
string codicef;
string comune;
};
void caricadati(int &n,struct dati persone[]);
void stampacodice(struct dati persone[]);
int main()
{
int n;
struct dati persone[100];
caricadati(n,persone);
stampacodice(persone);
return 0;
}
void caricadati(int &n,struct dati persone[])
{
int i;
cout<<"Di quante persone vuoi inserire i dati? ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Inserire nome: ";
cin>>persone[i].nome;
cout<<"Inserire cognome: ";
cin>>persone[i].cognome;
cout<<"Inserire codice fiscale: ";
cin>>persone[i].codicef;
cout<<"Inserire comune residenza: ";
cin>>persone[i].comune;
}
}
void stampacodice(struct dati persone[],int n)
{
int i,esci;
esci=0;
i=0;
string nome,cognome;
cout<<"Inserire nome della persona che vuoi sapere il codice fiscale ";
cin>>nome;
cout<<"Inserire cognome della persona che vuoi sapere il codice fiscale ";
cin>>cognome;
while( i < n && esci == 0 )
{
if(persone[i].nome == nome)
{
cout<<"Il codice fiscale della persona e': "<<persone[i].codicef;
esci=1;
}
else
i = i + 1;
}
}
Non ho la più pallida idea da cosa derivi quest'errore, se potreste darmi una mano ne sarei grato.
Grazie in anticipo, Scary-