Ho risolto mettendo l'apertura del file e quindi la dichiarazione delle variabili nel sottoprogramma, ma non fa il suo dovere:
MAIN
using namespace std;
int main (int argc, char * const argv[]) {
matrice m;
int r;
vettore v;
int riemp;
inserisciInMatrice( m, r);
leggiDaFile(v,riemp);
return 0;
}
Header
#ifndef mamma
#define mamma
#define N 100
#define R 20
#include <fstream>
typedef char nomi [R];
typedef nomi matrice[N][N];
typedef nomi vettore[N];
void inserisciInMatrice(matrice & m,int & r);
void leggiDaFile(vettore & v,int & riemp);
#endif
FUNZIONI
#include "func.h"
#include <iostream>
#include <fstream>
using namespace std;
void inserisciInMatrice(matrice & m,int & r){
cout<<"\nDefinisci la tua matrice :";
cout<<"\nQuante righe e colonne deve avere la tua matrice quadrata?";
cin>>r;
cout<<"\nRiempi la matrice";
for(int i=0;i<r;i++){
for(int j=0;j<r;j++){
cout<<"\nInserisci un nome\n";
cin>>m[i][j];
}
}
// Stampa della matrice
for(int i=0;i<r;i++){
for(int j=0;j<r;j++){
cout<<m[i][j]<<" ";}
cout <<endl;
}
}
[color=#FF0000]///////////////////////////////////////Questa è la funzione in questione//////////////////[/color]
void leggiDaFile(vettore & v,int & riemp ){
ifstream in;
in.open("/Users/Genna/Desktop/fondamenti di informatica/algoritmi di base/prove d'esame/comparare a e o/preappello/nomi.txt",ios::in);
cout<<"Quanti nomi ci sono nel tuo file?";
cin>>riemp;
for (int i=0;i<riemp;i++){
in>>v[i];
cout<<v[i];
in.close();
}
}