小编Zhe*_*tal的帖子

在C++中声明公共静态变量时链接错误

我有这个具有可变配置参数的类.我希望把它列入其他类: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;
Run Code Online (Sandbox Code Playgroud)

我想要的是能够修改或读取其他类中的值.我不能声明一个静态变量并在声明中定义它.我不能让这些变量没有定义,因为我得到"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: …
Run Code Online (Sandbox Code Playgroud)

c++ linker static lnk2005

9
推荐指数
1
解决办法
9684
查看次数

标签 统计

c++ ×1

linker ×1

lnk2005 ×1

static ×1