ok ora riposto il codice

codice:
const int max_dim=30;

struct persona
{
       std::string nome;
       int eta;
};

typedef persona vettore[max_dim];

void leggi_vett(const vettore, int &);
void stampa_vett(const vettore, int);
codice:
#include <iostream>
#include <string>
#include "lib.h"

using namespace std;
using std::string;

int main()
{
    int riemp;
    vettore v;
    
leggi_vett(v,riemp);
stampa_vett(v,riemp);

system("PAUSE");
return 0;

}
codice:
#include <iostream>
#include <string>
#include "lib.h"

using namespace std;
using std::string;

void leggi_vett(const vettore v, int &riemp)
{
     int i;
     
     cout<<"inserire riempimento"<<endl;
     cin>>riemp;
     
     cout<<"inserire valori nella struttura"<<endl;
     
for(i=0; i< riemp; i++)
{
         std::cin>>v[i].nome;
         cin>>v[i].eta;
}

}


void stampa_vett(const vettore v, int riemp)
{
     int i;
     
    cout<<"elementi della struttura"<<endl;
    
    for(i=0;i<riemp;i++)
    {
                        std::cout<<v[i].nome;
                        cout<<v[i].eta;
    }
    
}
ecco l'errore : lib.cpp In function `void leggi_vett(const persona*, int&)':
no match for 'operator>>' in 'std::cin >> ((+(((unsigned int)i) * 8u)) + v)->persona::nome'

PS: scusate se prima ho fatto una polemica nel post precedente ma stamattina non riuscendo a comprendere bene il problema ero arrabbiato ed intrattabile;