Título: ¿cual es el error? Publicado por: asdavid en 22 Noviembre 2012, 12:51 pm 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; } Título: Re: ¿cual es el error? Publicado por: C_1^N en 22 Noviembre 2012, 15:19 pm validar_nombre(i.nombre)
{ printf("1"); return; } el argumento deberia ser struct dato, o si queres pasarle la cadena char * Saludos! Título: Re: ¿cual es el error? Publicado por: rir3760 en 22 Noviembre 2012, 16:54 pm estoy 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: Código 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: Código
Un saludo Título: Re: ¿cual es el error? Publicado por: 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*' las cabeceras y el resto de codigo están corregidas,o eso creo Título: Re: ¿cual es el error? Publicado por: rir3760 en 23 Noviembre 2012, 15:13 pm ahora me da error en la linea del main en la que llamo a la funcion: 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[6]);"" invalid conversion from `char' to `char*' Código Y la próxima vez que actualices un programa y continúes con errores por favor publica su código fuente. Un saludo |