Hola, he empezado con la programación hace poco y tengo un pequeño problema en este programa:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int SumaYCuenta(ifstream f, float& suma);
int main(void)
{
int num_elementos = 0;
float suma = 0;
ifstream fich_in;
string nombre;
cout << "Este programa nos calcula la media de los numeros de un fichero en caso
de que exista algun numero dentro de ese fichero" << endl << endl;
cout << "Dame el nombre del fichero: ";
cin >> nombre;
fich_in.open(nombre);
if (!fich_in)
cout << "Error abriendo fichero";
else
{
num_elementos = SumaYCuenta(fich_in, suma);
if (num_elementos != 0)
cout << "La media es: " << suma / num_elementos;
else
cout << "El fichero no contenia ningún elemento.";
}
fich_in.close();
return 0;
}
int SumaYCuenta(ifstream f, float& suma)
{
int num;
int contador = 0;
while(f >> num)
{
suma = suma + num;
contador++;
}
return contador;
}
-----------------------------------------------------------------------------------------
[Error] use of deleted function 'std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)'
[Error] use of deleted function 'std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)'
[Error] 'std::ios_base::ios_base(const std::ios_base&)' is private
[Error] within this context
[Error] initializing argument 1 of 'int SumaYCuenta(std::ifstream, float&)'
¿Alguien sabe que puedo hacer?
El programa marca la linea 40