Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
mafalda
Nivel 4


Edad: 33
Registrado: 15 Dic 2011
Mensajes: 114

Carrera: Informática
argentina.gif
MensajePublicado: Mie Abr 03, 2013 10:39 am  Asunto:  consulta struct Responder citandoFin de la PáginaVolver arriba

Buenas, quería consultar sobre un error que no me permite compilar un codigo con struct y no encuentro la falla.

La declaracion:

typedef struct simbolo{
char dibujo[3];
}matriz;

y la parte donde me tira el error es cuando hago:

void creandoT(simbolo matriz[ancho][alto]){
//simbolo.matriz;
for(int i=0;i<ancho;i++){
for(int j=0;j<alto;j++){
matriz.dibujo[0]='|';
matriz.dibujo[1]='0';
matriz.dibujo[2]='|';
}
}
}

me salta un error:
|error: request for member `dibujo' in `matriz', which is of non-class type `simbolo (*)[5]'|

Gracias! Smile


Aries Género:Femenino Cabra OfflineGalería Personal de mafaldaVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Mie Abr 03, 2013 10:44 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

matriz no es una estructura, es una matriz de ancho por alto estructuras.

Adivino que lo que querés hacer es:

matriz[i][j].dibujo[0] = '|';

etc.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
mafalda
Nivel 4


Edad: 33
Registrado: 15 Dic 2011
Mensajes: 114

Carrera: Informática
argentina.gif
MensajePublicado: Mie Abr 03, 2013 10:54 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Eso mismo. Ahora anda perfecto!
No le estaba pasando las dimensiones.
Muchas Gracias!


Aries Género:Femenino Cabra OfflineGalería Personal de mafaldaVer perfil de usuarioEnviar mensaje privado
ale_vans
Nivel 7


Edad: 35
Registrado: 22 May 2008
Mensajes: 304
Ubicación: Vte. Lopez
Carrera: No especificada
argentina.gif
MensajePublicado: Jue Abr 04, 2013 8:51 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Aprovecho que hace mucho que no toco codigo de C para preguntar... como hace el compilador para saber que "ancho" y "alto" son del tipo int en la declaracion?


Leo Género:Masculino Dragón OfflineGalería Personal de ale_vansVer perfil de usuarioEnviar mensaje privadoMSN Messenger
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Jue Abr 04, 2013 8:59 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Ancho y alto no son variables, son literales; supongo que en algún lado están definidos con defines. (En ANSI-C99 podrías declarar un array local con un tamaño variable, pero no es el caso, no vale para signatures de funciones.)

El tipo de los literales que van en los corchetes de un array son size_t, si fueran de otro tipo, se castean/promueven/truncan (como todo en C, que es débilmente tipado).


@mafalda: La convención de C es que las etiquetas (y sólo las etiquetas) vayan en mayúsculas. En este caso debería ser ANCHO y ALTO.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.3675s ][ Pedidos: 20 (0.3189s) ]