このクラスには可変構成パラメータがあります。私は他のクラスに含めたい:JugadorHumano
、JugadorIA
、Main
、PartidaClasica
、PartidaMision
。C++でpublic static変数を宣言するときのリンクエラー
私が望むのは、他のクラスの値を変更または読み取ることです。私は静的変数を宣言することはできませんし、宣言でそれを定義することはできません。私は "未解決の外部"エラーが発生するため、定義なしでその変数を許可することはできません。
1>JugadorIA.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>JugadorIA.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>Main.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>Main.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>PartidaClasica.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>PartidaClasica.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>PartidaMision.obj : error LNK2005: "public: static int Configuracion::MAX_ATAQUES" \
([email protected]@@2HA) already defined in JugadorHumano.obj
1>PartidaMision.obj : error LNK2005: "public: static int Configuracion::DIV_TERRITORIOS" \
([email protected]@@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
私は私が手にこの再定義を避けるために何をすべきか?私はそれを理解することはできませんし、私は同様の問題を見つけることができません。
変更したくない場合は、それらをconstにすることができます。すべての大文字の名前は通常constを示します。 –
すばやく答えてくれてありがとう、解決しました! – Zhertal
@armen:あなたは私の日を救った。今私は戻って翻訳単位について読む必要があります。 –