Inserire variabili di stream nei parametri formali

di Anonimizzato9575 il
4 risposte
Salve sono nuovo e inesperto per quanto riguarda il C++ quindi se scrivo qualche sciocchezza vi prego di non gridare all'untore.Il mio problema è questo: definisco delle variabili di stream(ifstream e ofstream) nel main ma queste variabili mi servono anche in una funzione diversa dal main (in questo caso si chiama getnumber).considerando che la funzione getnumber riceve anche una variabile intera che ho chiamato n dal main ho scritto questo

void initialize(int,int,int);
void getnumber(int,ifstream,ofstream);

int main()
{
int zeros,pari,dispari,num;

ifstream inData;
ofstream outData;

inData.open("inNum");
outData.open("outNum");

initialize(zeros,pari,dispari);

cout << "Inserire una serie di numeri interi separati da uno spazio: ";

while(inData)
getnumber(num,inData,outData); ecc ecc

La funzione getnumber l'ho riportata così

void getnumber (int& n,ifstream& In, ofstream& Out)
{
In >> n;
Out << n << " ";
}

quando ho provato a compilarlo è impazzito su questo punto.Cosa ho sbagliato?Grazie

4 Risposte

  • Dichiarazione di getmuber accetta parametri per valore, lo sviluppo per riferimento.
  • Quindi in parole grezze dovrei scrivere la dichiarazione così

    void getnumber (int& n,ifstream& In, ofstream& Out) ?
  • Bravo, la dichiarazione e lo sviluppo devono avere lo stesso footprint.
  • Grazie mille sei stato gentilissimo.
Devi accedere o registrarti per scrivere nel forum
4 risposte