Error: * was not declared in this scope

Iniciado por KISKE, 19 Enero 2013, 00:51 AM

0 Miembros y 1 Visitante están viendo este tema.

KISKE

Hola,
He mirado muchos temas relacionados a este error pero no puedo arreglarlo.

conds.cpp:
Código (cpp) [Seleccionar]
bool is_legal_position(string position)
{
    if (position == "GK")
        return true;

    if (position.size() != 3)
        return false;

    string raw_position = position.substr(0, 2);
    char side = position[2];

    return tact_manager().position_exists(raw_position) && is_legal_side(side); // En esta línea marca el error!
}


tacts.cpp:
Código (cpp) [Seleccionar]
tactics_manager& tact_manager(void)
{
    static tactics_manager tmng;
    return tmng;
}


error: 'tact_manager' was not declared in this scope


Si falta código avisenme y lo publico.

Gracias de antemano!

Puntoinfinito

Mira bien si declarastes la función...

Consejo; Ah otra cosa, cuando creas una función con objetivo de modificar un objeto como ahora uno de tipo void, necesitas indicar que nombre recibe dicho objeto. Tal que así;

Citarint funcion(void variable) {
variable = 1;
return variable;
}
AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.

Stakewinner00

Si pones el código entero lo compilo y miro que falla.

0xDani

Cita de: Puntoinfinito en 19 Enero 2013, 11:55 AM
Mira bien si declarastes la función...

Consejo; Ah otra cosa, cuando creas una función con objetivo de modificar un objeto como ahora uno de tipo void, necesitas indicar que nombre recibe dicho objeto. Tal que así;


No se que has querido decir, pero no conozco ningun estandar que permita la creacion de objetos de tipo void. Quiza te referias a void*?
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

dooque

#4
Hola!

Cita de: PuntoinfinitoConsejo; Ah otra cosa, cuando creas una función con objetivo de modificar un objeto como ahora uno de tipo void, necesitas indicar que nombre recibe dicho objeto. Tal que así;

No se puede, justamente void significa "NADA", i.e. "No argumentos" es ese caso.

Por otro lado y llendo a la pregunta original, falta código y tendrías que decir en que archivo da el error, pero lo más probable es que en conds.cpp te falte declarar el prototipo de la función o incluir la cabezera de la misma:


tactics_manager& tact_manager(void);


Saludos.
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan

KISKE

Cita de: dooque en 19 Enero 2013, 16:16 PM
Hola!

No se puede, justamente void significa "NADA", i.e. "No argumentos" es ese caso.

Por otro lado y llendo a la pregunta original, falta código y tendrías que decir en que archivo da el error, pero lo más probable es que en conds.cpp te falte declarar el prototipo de la función o incluir la cabezera de la misma:


tactics_manager& tact_manager(void);


Saludos.
Exceleeeente, me funcionó a la perfección por el momento, muchísimas gracias!


Gracias a todos por las rápidas respuestas!