我正在制作一个扑克游戏,我有一个类,其中包含一个std::map
为扑克牌组上的每张牌分配一个值的类,它指的是它的名字。我试图将它作为另一个类的组件作为static
成员,因为每次创建卡时我都必须分配一个值,但是由于某种原因,当我尝试访问它时,我得到编译器错误未定义符号或重复符号。
我的部分解决方案是将类容器声明为类范围之外的全局变量,但我知道这是一种不好的做法,如果没有的话,我仍然有疑问。
extern Baraja baraja;
出于某种原因,当我将其声明为static
成员或static const
成员时,碰巧我无法访问的值,std::map
或者我得到编译器错误,undefined symbol
或者duplicated symbol
我在网络文档中搜索并且找不到我有这个问题的原因或解决方案。
如何正确创建、初始化和访问类的静态成员?