[C con Clase] Ficheros en C++

David Reza l.fix3r.l en gmail.com
Dom Nov 25 20:04:03 CET 2007


Los errores:

Datos.h:8: error: `ios' has not been declared
> Datos.h:8: error: `in' undeclared (first use this function)
> Datos.h:8: error: (Each undeclared identifier is reported only once for
> each function it appears in.)
> Datos.h:8: error: `ios' has not been declared
> Datos.h:8: error: `out' undeclared (first use this function)
> Datos.h:8: error: `ios' has not been declared
> Datos.h:8: error: `binary' undeclared (first use this function)
> Datos.h:9: error: `good' undeclared (first use this function)
> Datos.h:10: error: `ios' has not been declared
> Datos.h:10: error: `ios' has not been declared
> Datos.h:10: error: `ios' has not been declared
> Datos.h:10: error: `trunc' undeclared (first use this function)
> Datos.h:10: error: `ios' has not been declared
> Datos.h:10: error: `open' undeclared (first use this function)
> Datos.h:11: error: `cout' undeclared (first use this function)
> Datos.h:11: error: `endl' undeclared (first use this function)
> Datos.h:12: error: `cin' undeclared (first use this function)
> FicheroPrueba.cpp: In function `int main()':
> FicheroPrueba.cpp:33: error: `cout' undeclared (first use this function)
> FicheroPrueba.cpp:47: error: `endl' undeclared (first use this function)
> FicheroPrueba.cpp:50: error: `cin' undeclared (first use this function)
> FicheroPrueba.cpp: In function `int Menu()':
> FicheroPrueba.cpp:64: error: `cout' undeclared (first use this function)
> FicheroPrueba.cpp:64: error: `endl' undeclared (first use this function)
>
> FicheroPrueba.cpp:71: error: `cin' undeclared (first use this function)


Son por que estas utilizando funciones que están declaradas en sus
respectivas librerías, pero dichas librerías no las estas incluyendo en tu
programa. Por ejemplo la librería 'iostream' que hasta donde sé contiene las
declaraciones y definiciones para usar 'cout', 'cin', 'endl'. Para 'ios' me
parece que es 'stdio'. Para las demás tu deberías de saber cuáles son si tu
creaste el programa. Tal vez sólo se te olvidó.

Veo que sí las incluiste dentro del archivo alea.cpp, pero también las
utilizas en Datos.h donde no las incluiste. Por eso el error de que en
Datos.h, el error 11 es que 'cout' no está declarado:

Datos.h:11: error: `cout' undeclared (first use this function)


También en FicheroFuente.cpp parece que sólo te falta 'iostream'

A falta de tiempo no puedo checar de todo, pero checa bien tu archivo de
cabecera Datos.h

In file included from FicheroPrueba.cpp:9:
Datos.h:6: error: expected class-name before '{' token

Datos.h: In constructor `Datos::Datos()':
Datos.h:8: error: class `Datos' does not have any field named `fstream'

Dice algo de que no estas declarando ningún campo fstream. Supongo que lo
que querías hacer era una lista de inicialización de miembros, pero no está
correcta, ya que en tu clase no tienes ningún miembro llamado fstream.

Aparte estás implementando el constructor Datos(); dentro del encabezado, y
aunque se puede hacer es contrario a lo que has estado haciendo, es decir,
declararla en un archivo de encabezado y definirla en otro archivo fuente.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071125/b330ba4a/attachment.html>


Más información sobre la lista de distribución Cconclase