PDA

Visualizza la versione completa : [C++]Problema con il passaggio di un array


Vash96
16-10-2012, 18:40
Salve a tutti, dato che è il mio primo messaggio in questo forum mi presento: sono Bryan, ho 16 anni e sono in terza superiore (scientifico).

Il mio problema è questo:
volevo fare un po' di pratica sulle struct (non le ho ancora fatte a scuola, ma volevo portarmi un po' avanti..) e ho deciso di fare un programma che mi permettesse di inserire i dati (nome, cognome ecc..) di N insegnanti e in seguito di stamparli a video.

Ho creato una funzione che carichi l'array, il problema subentra quando, richiamando la funzione, provo a passare l'array, dandomi questo errore:

conversion from `Docente*' to non-scalar type `Docente' requested

Il codice del source è questo (ci sono alcuni prototipi di altre funzioni che avrei sviluppato in seguito)

#include <iostream>
#include <conio.h>
using namespace std;

struct Docente{
string Nome;
string Cognome;
int AnniInsegnamento;
int NumeroClassi;
int Eta; };

void CaricaVettore( Docente, int );
void StampaNomi( Docente );
void StampaCognomi( Docente );
void StampaEta( Docente );
void StampaAnni( Docente );
void StampaClassi( Docente );

int main()
{
int nMax;
cout << "Numero di insegnanti? ";
cin >> nMax;
Docente Insegnanti[nMax];

CaricaVettore(Insegnanti, nMax);

getch();
return 0;
}

void CaricaVettore( Docente Insegnanti[], int a )
{
for( int j=0; j<a; j++ ){
cout << "Nome: ";
cin >> Insegnanti[j].Nome;

cout << "Cognome: ";
cin >> Insegnanti[j].Cognome;

cout << "Eta': ";
cin >> Insegnanti[j].Eta;

cout << "Anni d'insegnamento: ";
cin >> Insegnanti[j].AnniInsegnamento;

cout << "Numero di classi: ";
cin >> Insegnanti[j].NumeroClassi;

cout << endl << endl;
}

return; }

E l'errore me lo segna proprio sulla chiamata della funzione dal main.
Aspetto il vostro aiuto!! :)

Non c'è più bisogno d'aiuto, ho sistemato la faccenda utilizzando un puntatore!! ^^

ale.gatti96
16-10-2012, 22:53
Penso sia perché nel prototipo di CaricaVettore gli dici di aspettarsi una variabili Docente e una intera, invece gli arrivano un array di Docente e una variabile intera.
Prova a modificare il prototipo.

Loading