У меня есть этот класс с переменными параметрами конфигурации.Я хочу включить его в другие классы: JugadorHumano
, JugadorIA
, Main
, PartidaClasica
, PartidaMision
.
#pragma once
class Configuracion
{
public:
static int MAX_ATAQUES;
static int DIV_TERRITORIOS;
};
int Configuracion::MAX_ATAQUES = 5;
int Configuracion::DIV_TERRITORIOS = 3;
Я хочу иметь возможность изменять или читатьзначения из других классов.Я не могу объявить статическую переменную и определить ее в объявлении.Я также не могу разрешить эти переменные без определения, потому что я получаю ошибки «Unresolved External».
1>JugadorIA.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
(?MAX_ATAQUES@Configuracion@@2HA) already defined in JugadorHumano.obj
1>JugadorIA.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
(?DIV_TERRITORIOS@Configuracion@@2HA) already defined in JugadorHumano.obj
1>Main.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
(?MAX_ATAQUES@Configuracion@@2HA) already defined in JugadorHumano.obj
1>Main.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
(?DIV_TERRITORIOS@Configuracion@@2HA) already defined in JugadorHumano.obj
1>PartidaClasica.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
(?MAX_ATAQUES@Configuracion@@2HA) already defined in JugadorHumano.obj
1>PartidaClasica.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
(?DIV_TERRITORIOS@Configuracion@@2HA) already defined in JugadorHumano.obj
1>PartidaMision.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
(?MAX_ATAQUES@Configuracion@@2HA) already defined in JugadorHumano.obj
1>PartidaMision.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
(?DIV_TERRITORIOS@Configuracion@@2HA) already defined in JugadorHumano.obj
1>D:\Leire\My Dropbox\Carpetas compartidas\Compartidos Victor\Practicas POO II\P3\P3M10\Debug\P3M10.exe : fatal error LNK1169: one or more multiply defined symbols found
Что я должен сделать, чтобы избежать этого переопределения, которое я получаю?Я не могу понять это, и я не могу найти подобную проблему.