Clase ejemplo en OpenGL freeglut

(1/1)

Eric88:
//Hay un error y me dice que la función Escribir no pertenece
//a la clase Ayuda

class Ayuda
{
        private:
               int pos1;
               int pos2;
               char Texto(12);
         public:
                void Escribir(int, int, char);
                Ayuda(int, int, char);
};

Ayuda::Ayuda(int _pos1, int _pos2, char _Texto)
{
         pos1= _pos1;
         pos2= _pos2;
         Texto[12]=_Texto;
}

void Ayuda::Escribir(int _pos1, int _pos2, char _Texto)
{
         pos1= _pos1;
         pos2= _pos2;
         Texto[12]= _Texto;
}


Int main()
{
        Ayuda AyudaTexto();
        AyudaTexto.Escribir(20, 20, "ho");//en esta linea esta el error

         Return 0;
}

Eternal Idol:
¿Cual es la fuente del codigo? Hay muchos errores ...

char Texto(12); deberia ser [12] en todo caso.
Texto[12]=_Texto; esta mal, el primer elemento de un array es el 0 y al tener 12 el ultimo es 11.
El constructor de Ayuda tiene 3 parametros y no los estas pasando.
Escribir recibe como 3er parametro un CARACTER y le estas pasando una cadena de caracteres.

Eric88:
Gracias, ya voy! Me gustaria saber el mismo
ejemplo pero en vez de una char pasar una string en
el tercer argumento de Escribir...
AyudaTexto(10, 10, "hola");

Eternal Idol:
Ya que estas usando C++ aprovecha std::string.

https://en.cppreference.com/w/cpp/string/basic_string

Eric88:
Que falla que no me suma ni el 40 ni el -30. Esto () corresponde a un array.

for (int i=0; i<=35; i++)
{
         If ( ratonX <= puntos (i)(0) * 40.0 + PosicionCuboX + 8.0 && ratonX >= puntos (i) (0) * + 40.0 + PosicionCuboX -8.0 && ratonY <= puntos (i) (1) * -30.0 + PosicionCuboY + 8.0 && ratonY >= puntos (i) (1) * -30.0 + PosicionCuboY -8.0 )
           {
             estado (i)= true;
            }
}

Navegación

[0] Índice de Mensajes