• Viernes 15 de Noviembre de 2024, 06:22

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - chuscazo

Páginas: [1]
1
C/C++ / Re: Uso de estructuras
« en: Miércoles 25 de Marzo de 2009, 11:08 »
Claro, y también salen errores y avisos. En esa asignación es donde he hecho varias pruebas ya que de esa forma no había probado todavía.

 De todas formas si que consigo crear la estructura y acceder a ella, aunque con avisos en la asignación, pero lo que parece que luego no funciona bien es el uso que hace de ella otra función de la API.

 Saludos.

2
C/C++ / Re: Uso de estructuras
« en: Miércoles 25 de Marzo de 2009, 10:23 »
Nada tío, así tampoco, siguen saliendo los mismo errores y he probado varias combinaciones.

 Lo he escalado al soporte de la herramienta (la que trae la API) a ver si se estiran y me ayudan o me dicen que es lo que pasa, porque mas combinaciones no pudo probar. También es un problema que no sea utilizado por mucha gente, porque no hay muchos hilos sobre esto.

 Muchas gracias por tu tiempo, ayuda e ideas. En cuanto sepa algo de lo que pasa lo pondré en este hilo. De todas formas si se os siguen ocurriendo ideas yo estaré aquí detrás a la espera.

 Saludos.

3
C/C++ / Re: Uso de estructuras
« en: Miércoles 25 de Marzo de 2009, 09:20 »
Curioso, porque yo pensaba que esa parte estaba bien.
El caso es que cambiando lo que me comentas me sale 2 veces mas el error.

 La verdad que cada vez me pierdo mas. porque con el código inicial :
Código: C
  1.  
  2.         ARNameType parametro1="ShortDescription";
  3.         ARNameType parametro2="Category";
  4.  
  5.         ARNameType *parametros[]={&parametro2,&parametro1,NULL};
  6.  
  7.         ARNameList listaAttr ={ 2 , &parametros};
  8.  
  9.  
Solo me devolvía:
linea 7: inicialización desde un tipo de puntero incompatible

Y con el código modificado como comentas:
Código: C
  1.  
  2.         ARNameType *parametro1="ShortDescription";
  3.         ARNameType *parametro2="Category";
  4.  
  5.         ARNameType parametros[]={parametro2,parametro1,NULL};
  6.  
  7.         ARNameList listaAttr ={ 2 , &parametros};
  8.  
  9.  
Me devuelve:
linea 2: inicialización desde un tipo de puntero incompatible
linea 3: inicialización desde un tipo de puntero incompatible
linea 5: la inicialización crea un entero desde un puntero sin una conversión
linea 5: la inicialización crea un entero desde un puntero sin una conversión
linea 7: inicialización desde un tipo de puntero incompatible

 Me comentas que me tendría que haber dado cuenta, pero es que esto hace que me desoriente más todavía.

4
C/C++ / Re: Uso de estructuras
« en: Martes 24 de Marzo de 2009, 19:04 »
Gracias por tu llamada de atención. Ya he editado el post anterior. Y perdón porque en un principio no me aclare con el editor.

 Lo he cambiado como dices:
Código: C
  1.  
  2.         ARNameType parametro1="ShortDescription";
  3.         ARNameType parametro2="Category";
  4.  
  5.         ARNameType parametros[]={parametro2,parametro1,0};
  6.  
  7.         ARNameList listaAttr ={ 2 , &parametros};
  8.  
  9.  
  10.  
Ahora me dice:
linea 5: aviso: la inicialización crea un entero desde un puntero sin una conversión
linea 5: aviso: la inicialización crea un entero desde un puntero sin una conversión
linea 7: aviso: inicialización desde un tipo de puntero incompatible

 La verdad que he probado muchas cosas y no se si me está fallando el código aquí porque son solo avisos. El caso que esa estructura se la tengo que pasar por referencia a una función de la api y parece que nunca me coge mas de un valor en la lista. Según la documentación si debería de cogerlos.

 Saludos.

5
C/C++ / Uso de estructuras
« en: Martes 24 de Marzo de 2009, 18:11 »
Uso de estructuras
Hola, soy medio novato en C, entre otras cosas porque hace bastante tiempo que no me tocaba hacer nada en este lenguaje. Me estoy matando con 2 lineas de código que no acabo de entender. Os comento (es de una API para Remedy):

Tengo definidos:
Código: C
  1.  
  2. typedef char ARNameType[AR_MAX_NAME_SIZE + 1];
  3.  
  4. typedef struct ARNameList
  5. {
  6.    unsigned int   numItems;
  7.    ARNameType    *nameList;
  8.  
  9. }  ARNameList;
  10.  
  11.  
Y ahora quiero crear una variable del tipo ARNameList con 2 ARNameType q
Código: C
  1.  
  2.         ARNameType parametro1="ShortDescription";
  3.         ARNameType parametro2="Category";
  4.  
  5.         ARNameType *parametros[]={&parametro1,&parametro2,0};
  6.  
  7.         ARNameList listaAttr ={ 2 , &parametros};
  8.  
  9.  
Al compilar, la última línea me devuelve:
aviso: inicialización desde un tipo de puntero incompatible.

También he probado:
Código: C
  1.  
  2.         ARNameType *parametros[]={"Name","ShortDescription",0};
  3.         ARNameList listaAttr ={ 2 , &parametros};
  4.  
  5.  
Pero ahora la dos lineas me devuelven:
linea 2: aviso: inicialización desde un tipo de puntero incompatible.
linea 2: aviso: inicialización desde un tipo de puntero incompatible.
linea 3: aviso: inicialización desde un tipo de puntero incompatible.

¿Alguien me podría decir que está mal?

Gracias.

 PD: EDITADO para añadir la etiquetas correctas de código.

Páginas: [1]