Problema llamando el método de una clase :/

Iniciado por Abril7, 27 Noviembre 2016, 02:18 AM

0 Miembros y 2 Visitantes están viendo este tema.

Abril7

Hola en este pedazo de mi codigo:
Código (cpp) [Seleccionar]
 
JugadorSolo a;

     for(int a =0;a <= 5; a++){
for(int b = 0; b<=6; b++)
               tablero[a][b] = ' ';
}

tengo que usar el arreglo "char tablero[6][7]" que forma parte de la clase JugadorSolo. Entonces cree un get en esta clase para poder reasignarlo a otra variable en el main y usarlo, pero al hacerlo me da un error, hago algo como esto:

Código (cpp) [Seleccionar]
JugadorSolo.h:

char JugadorSolo::getTablero()
{
   return tablero[6][7];
}

int main:

   JugadorSolo a;

       for(int a =0;a <= 5; a++){
for(int b = 0; b<=6; b++)
          a.getTablero();

}

Me da el error:
"Request for member "getTablero" in 'a', which is of non-class type 'int'

Despues intente haciendo todo el ciclo una funcion de la clase para poder utilizarlo entonces lo ponia algo asi:
   JugadorSolo a;
   a.ciclo();

Y aqui me da el error 'a' was not declared in this scope.

Despues intente poner esa variable en global y me da este error:

'tablero' was not declared in this scope


No se que hago mal o por qué de ninguna manera funciona, agradeceria mucho si alguien sabe.

Muchas gracias.



Mod: Los códigos deben ir en etiquetas GeSHi, no hacer doble post

engel lex

donde está la declaranción de la clase JugadorSolo?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Abril7

esta arriba, no lo anote porque solo puse una parte del codigo, pero esta hecha correctamente

engel lex

no habia leido el error ya lo vi

Citar"Request for member "getTablero" in 'a', which is of non-class type 'int'

peticion para el miembro "getTablero" en 'a', quien es un tipo int y no es una clase

Código (cpp,9,11) [Seleccionar]

char JugadorSolo::getTablero()
{
   return tablero[6][7];
}

int main:

   JugadorSolo a; //<--------

       for(int a =0;a <= 5; a++){//<-  "int a =0"
for(int b = 0; b<=6; b++)
          a.getTablero();

}


redeclaraste "a" como tipo int... es raro que el compilador te dejara hacer esa metida de pata... pero eso es
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Abril7

Ahh es que en si en el for estaba el int a, cambie el nombre del objeto a
JugadorSolo uno;

e intente usar ahora la funcion que cree: uno.getTablero();
y ahora me da otro error, me dice " 'uno' was not declared in this scope" la cuestion es que justo antes de eso declarandolo .-. como se supone que arreglo eso?

engel lex

muestra la sección de código a ver (recuerda que no veo lo que tu ves)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.


engel lex

el for no tiene llaves es decir solo aplica hasta el siguiente ";"



los for al igual que las otras estructuras de control crean su propio scope, ese "uno" solo está declarado dentro de ese for...

ten más cuidado con las declaraciones, las llaves y los scopes
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.


engel lex

lo siento no entiendo lenguaje de señas cursores...

pero no has arreglado el for
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.