Título: Error en la compilación! (Solucionado) Publicado por: MJI en 6 Diciembre 2018, 19:33 pm 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 Título: Re: Error en la compilación! Publicado por: AlbertoBSD en 6 Diciembre 2018, 19:51 pm Para evitar esto hay que pasar dicho objeto como referencia.
Código
El cofigo ya no produce errores, pero tampoco lo probe. Saludos Título: Re: Error en la compilación! (Solucionado) Publicado por: MJI en 6 Diciembre 2018, 20:08 pm Vale, he probado el nuevo código, compila y se ejecuta perfectamente.
Muchas gracias Alberto! |