elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema structs
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema structs  (Leído 1,363 veces)
Ccomplica

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Problema structs
« en: 29 Octubre 2013, 22:52 pm »

Código
  1. struct _directorio{
  2.    Cadena nomDir;
  3.    _directorio *ptrIZQ;
  4.    _directorio *ptrDER;
  5.    _archivo *ptrArchivo;
  6. };
  7. typedef _directorio *Directorio;

Código
  1. struct _sistema{
  2.    _directorio *ptrDirectorio;
  3. };
  4. typedef _sistema *Sistema;

Código
  1. typedef struct _archivo{
  2. Cadena Contenido;
  3. Cadena Atributos;
  4. Cadena nombreArchivo;
  5.  _archivo *siguiente;
  6. };
  7. typedef _archivo *Archivo;

Código
  1. struct _listaArchivos{
  2.    Cadena nomArchivo;
  3.    _listaArchivos *Siguiente;
  4. };
  5. typedef _listaArchivos *ListaArchivos;

Cada una de estas estructuras son la estructura de varios headers en los que tengo definidas funciones varias, con el proposito de crear algo similiar a un Filesystem... o sea tiro comando parametro.. y manipulo el filesystem, creo, elimino y modifico directorios, archivos, etc....
Quiero saber donde esta mi error al definir todos ellos, porque me tira errores de tipo:

"ISO C++ forbids declaration of `archivo' with no type" (en el header de directorio)

o tambien "error: `Archivo' does not name a type" (en el header de listaArchivo)

... Supongo que podria ser un problema de definicion, o de incluir que header en que header... Pero no me doy cuenta. Si no me doy a entender bien haganmelo saber.

Desde ya muchas gracias.-


En línea

edr89

Desconectado Desconectado

Mensajes: 105


Ver Perfil
Re: Problema structs
« Respuesta #1 en: 30 Octubre 2013, 05:53 am »

creo que primero debes crear el tipo de dato _directorio y despues hacer referencia al dato creado:
Código
  1. typedef struct _directorio _Directorio
  2. typedef _Directorio *DPTR

En la primera estructura intenta algo asi:
Código
  1.    typedef struct _directorio{
  2.       Cadena nomDir;
  3.       _directorio *ptrIZQ;
  4.       _directorio *ptrDER;
  5.       _archivo *ptrArchivo;
  6.    }_Directorio;

para la segunda estructura:
Código
  1.    struct _sistema{
  2.       _directorio *ptrDirectorio;
  3.    };
  4.    typedef struct _sistema *Sistema;

cuando utlices typedef para crear el tipo de estructura agrega la palabra reservada struct.

Código
  1.    typedef struct _archivo{
  2.    Cadena Contenido;
  3.    Cadena Atributos;
  4.    Cadena nombreArchivo;
  5.     _archivo *siguiente;
  6.    }_Archivo;
  7.    typedef _Archivo *Archivo;
Código
  1.    struct _listaArchivos{
  2.       Cadena nomArchivo;
  3.       _listaArchivos *Siguiente;
  4.    };
  5.    typedef struct _listaArchivos *ListaArchivos;

creo que cuando usas typedef solamente te refieres al tag de la estructura pero no al tipo de dato en si.

Si estoy mal favor de corregir!  :¬¬


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Structs Y Clases
.NET (C#, VB.NET, ASP)
anion 1 1,761 Último mensaje 14 Julio 2007, 04:26 am
por MANULOMM
referencias a elementos de STRUCTs y uso de PTR
ASM
jaksheppard 1 2,188 Último mensaje 13 Septiembre 2009, 01:46 am
por Eternal Idol
Duda con ficheros y structs en C
Programación C/C++
chica_23 9 4,559 Último mensaje 19 Marzo 2011, 20:24 pm
por chica_23
(SOLUCIONADO) Ayuda con los structs « 1 2 »
Programación C/C++
BlackM4ster 13 4,237 Último mensaje 23 Marzo 2013, 14:29 pm
por BlackM4ster
Duda con structs C/C++ « 1 2 »
Programación C/C++
SARGE553413 13 5,688 Último mensaje 21 Junio 2013, 18:50 pm
por pacoperico
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines