Dev - C++ - clase does not name a type

 
Vista:
sin imagen de perfil

clase does not name a type

Publicado por Mikel Torres Martinez (1 intervención) el 06/05/2022 16:35:32
Al compilar mi codigo me pone que "Jugadores" does not name a type. No encuentro el error en la definición de la clase y agradecería la ayuda. A continuacion adjunto el codigo del .h donde se define jugadores:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef JUGADORES_HH
#define JUGADORES_HH
 
 
#include "Jugador.hh"
#include "Torneos.hh"
#include "Ranking.hh"
 
using namespace std;
 
class Jugadores{
private:
    map<string, Jugador> conjunto_jugadores;
    int P;
 
public:
    /** @brief Constructora de un conjunto de jugadores vacío
    \pre Cierto
    \post El resultado es un conjunto de jugadores vacío con P=0
    */
    Jugadores();
 
    /** @brief Destructora Jugadores
    \pre Cierto
    \post Elimina todos los objetos locales después de salir del ámbito de visibilidad
    */
    ~Jugadores();
 
 
    /** @brief Modificadora alta jugador
    \pre Cierto
    \post El nuevo jugador será añadido al conjunto de jugadores y ocupará la última posición en el ranking. También se modificará el número de jugadores P
    */
    void alta_jugador(const string& identificador, Ranking& ranking);
 
    /** @brief Modificadora baja jugador
    \pre Cierto
    \post El jugador será eliminado del conjunto de jugadores y el resto de jugadores entre r y P, siendo r la posición en el ranking del jugador que se da de baja, mejoraran una posición en el ranking. También se modificará el número de jugadores P
    */
    void baja_jugador(const string& p, Ranking& ranking);
 
    /** @brief Consultora del número de jugadores
    \pre Cierto
    \post El resultados es el número de jugadores del parámetro implícito
    */
    int consultar_numero_jugadores() const;
 
    /** @brief Consultora jugador
    \pre El jugador con identificador p existe
    \post El resultado son todas las estadísticas del jugador con identificador p
    */
    void consultar_jugador(const string& p);
 
    /** @brief Consultora existe jugador
    \pre Cierto
    \post El resultado es <em>true</em> si el jugador con identificador p existe en el circuito. En caso contrario devuelve <em>false</em>
    */
    bool existe_p(const string& p) const;
 
    void anadir_jugador(const string& p);
 
    /** @brief Lectura conjunto jugadores
    \pre En el canal de entrada estándar hay preparado un entero P y una secuencia de P strings con los nombres de los jugadores
    \post El parámetro implícito pasa a tener los atributos leídos en el canal de entrada estándar y los jugadores ocuparán una posición inicial en el ranking dependiendo del orden en que se lean. Todas las estadísticas a excepción de la posición inicial en el ranking se inicializan a 0
    */
    void leer_jugadores();
 
    /** @brief Escribir jugadores
    \pre Cierto
    \post En el canal de salida estándar están todos los jugadores del parámetro implícito ordenados crecientemente por identificador con todas las estadísticas de cada jugador
    */
    void escribir_jugadores() const;
 
};
#endif
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

clase does not name a type

Publicado por antonio (85 intervenciones) el 06/05/2022 19:13:01
Debes crear una clase que se llame Jugador por ejemplo en Jugardor.hh

class Jugador{

};
Pero el código también da el error de ranking debes hacer lo mismo, y recuerda que debes crear el main para que no haya mas errores aunque no muestre nada. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

clase does not name a type

Publicado por Alfil (1444 intervenciones) el 06/05/2022 19:13:04
Viendo la declaración de la clase Jugadores (a falta de ver las demás clases así como la definición de todas ellas), se me ocurre que no habrás incluido el correspondiente #include de esta clase, tal vez has confundido la clase Jugador, con la clase Jugadores.

En cuanto a la definición de las clases, imagino que si las habrás hecho (los archivos *.cpp).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar