buenas!!
miren,estoy intentando pasar una cadena de caracteres o array,desde una estructura a una función,el compilador me da el siguiente error:
30 "conversion from `char*' to non-scalar type `nombre' requested "
codigo fuente:
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct dato
{char nombre[8];
};
int validar_nombre(struct dato);
int main()
{
struct dato i;
printf("Nombre:");
scanf("%s",&i.nombre);
validar_nombre(i.nombre);
}
validar_nombre(i.nombre)
{
printf("1");
return;
}
validar_nombre(i.nombre)
{
printf("1");
return;
}
el argumento deberia ser struct dato, o si queres pasarle la cadena char *
Saludos!
Cita de: asdavid en 22 Noviembre 2012, 12:51 PMestoy intentando pasar una cadena de caracteres o array,desde una estructura a una función
La función no se distingue de cualquier otra que deba procesar una cadena almacenada en un array de caracteres (el primero es el contenido, el segundo el contenedor).
Tu función:
validar_nombre(i.nombre)
{
printf("1");
return;
}
Tiene varios errores como no indicar el tipo de retorno, no indicar el tipo del parámetro y omitir el valor de retorno de la función.
La definición debería ser:
int validar_nombre(char nombre[])
{
/* Alguna operacion, por ejemplo: */
printf("%s\n", nombre);
return 1; /* O algun otro valor apropiado para el caso*/
}
Un saludo
ahora me da error en la linea del main en la que llamo a la funcion:
""validar_nombre(cnombre[6]);""
invalid conversion from `char' to `char*'
las cabeceras y el resto de codigo están corregidas,o eso creo
Cita de: asdavid en 23 Noviembre 2012, 10:54 AM
ahora me da error en la linea del main en la que llamo a la funcion:
""validar_nombre(cnombre[6]);""
invalid conversion from `char' to `char*'
El error se emite porque "cnombre[6]" es un elemento del array y es de tipo "char". Tu debes pasar la dirección en memoria del primer elemento del array, para ello basta con utilizar
solo su nombre en la llamada:
validar_nombre(cnombre);
Y la próxima vez que actualices un programa y continúes con errores
por favor publica su código fuente.
Un saludo