Programación General > C/C++

 problema con funcion

(1/1)

sukre_83:
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:
En una función tienes que declarar el nombre del parámetro además de su tipo, es decir:


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

sukre_83:
gracias moskito ya pude hacerlo rular con tu explicacion :beer:

alb:
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++ ---int RecogeDatos(string const & nombre_del_parámetro) 

Navegación

[0] Índice de Mensajes

Ir a la versión completa