Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: anamnesis_92 en 21 Enero 2012, 19:51 pm



Título: no se declaro en este ambito [SOLUCIONADO]
Publicado por: anamnesis_92 en 21 Enero 2012, 19:51 pm
Hola soy muy novato en c++  y al compilar el siguiente codigo me da error, a ver si me podeis ayudar:

Código:
#include <iostream>


class Clase
{
    private:
    int a;

    public:
    void seta(int w){a=w;};
    int geta(){return a;};
};


int funcion();

int main()
{
    Clase clase;
    funcion();
    clase.seta(1);
    return 0;
}


int funcion()
{
    clase.seta(2); ////////////////////////////////////////en esta linea//////////////////////////////////////

    return 0;
}


me salta "error: ‘clase’ no se declaró en este ámbito"


seguro que es una tonteria, gracias por adelantado!


Título: Re: no se declaro en este ambito
Publicado por: Akai en 21 Enero 2012, 20:19 pm
Necesitas pasarle el objecto a funciçon para que esta pueda operar con él.

función pasaría a ser de este modo:
Código
  1. int funcion(Clase clase)


Título: Re: no se declaro en este ambito
Publicado por: anamnesis_92 en 21 Enero 2012, 20:24 pm
Muchas gracias!

EI: juntando mensajes.

Necesitas pasarle el objecto a funciçon para que esta pueda operar con él.

función pasaría a ser de este modo:
Código
  1. int funcion(Clase clase)

de todos modos, cada clase que use en una funcion la tengo que pasar como parametro?¿¿
no hay otro modo¿?


Título: Re: no se declaro en este ambito [SOLUCIONADO]
Publicado por: Littlehorse en 21 Enero 2012, 20:36 pm
Hay muchas formas de acceder a un objeto. Empieza comprendiendo lo básico respecto del pasaje de parámetros y luego iras encontrando diversas formas de acceder a un objeto.

Si no estas con ningún libro te recomiendo que tomes alguno del hilo de libros que se encuentra en las chinchetas. Muy recomendable.

Saludos!