• Viernes 8 de Noviembre de 2024, 18:43

Autor Tema:  problema con funcion  (Leído 1317 veces)

sukre_83

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
problema con funcion
« en: Lunes 29 de Noviembre de 2010, 19:39 »
0
Necesito ayuda con una funcion que al compilar me saca el error:
/*70 cannot convert `std::string' to `int' in initialization */
la declaracion la tengo antes del Main
int RecogeDatos(string);
recogo lo que devuelve en una variable entera:
n=RecogeDatos(Buffer);

y el codigo de la funcion;

int RecogeDatos(string){
  int j=0;
  string ext;
for(j=0;j<Buffer.length()-1;j++){
  ext=Buffer.substr(j,Buffer.length()-1);
}
if((strcmp(ext, ".jpeg") == 0)||(strcmp(ext, ".jpg") == 0)||(strcmp(ext, ".gif") == 0)||(strcmp(ext, ".png") == 0)||(strcmp(ext, ".tif") == 0)){
   estado=1;
  return 1;
}
else{
 
  return 0;
}
Hace tiempo que no practico c y estoy bastante verde en lo referente a sintaxis les agradeceria que me echaran una mano
p.d. resuminedo una funcion que recibe un string y devuelve un entero sintaxis de declaracion y llamda ala funcion.
gracias

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: problema con funcion
« Respuesta #1 en: Lunes 29 de Noviembre de 2010, 23:09 »
0
En una función tienes que declarar el nombre del parámetro además de su tipo, es decir:

Código: C
  1. int RecogeDatos(string nombre_del_parámetro)
  2.  
En el prototipo no hace falta, pero en la implementación de la función sí.

sukre_83

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: problema con funcion
« Respuesta #2 en: Martes 30 de Noviembre de 2010, 20:01 »
0
gracias moskito ya pude hacerlo rular con tu explicacion :beer:

alb

  • Nuevo Miembro
  • *
  • Mensajes: 24
    • Ver Perfil
Re: problema con funcion
« Respuesta #3 en: Martes 30 de Noviembre de 2010, 20:21 »
0
Hola,
Para un tipo como std::string, se puede pasar una referencia constante para no hacer una copia inutil (si no implementa COW de manera eficiente ) :
Código: C++
  1. int RecogeDatos(string const & nombre_del_parámetro)
  2.