相关疑难解决方法(0)

无法设置静态对象字段的值(错误LNK2001:未解析的外部符号)

我的代码看似简单明了,是我正在编写的游戏中遇到的问题的简化版本。我正在尝试将main方法中的一个静态字段设置为另一个值。但是这段代码不会,我也不明白为什么。

我得到错误

1> Source.obj:错误LNK2001:未解析的外部符号“ public:静态类A * B :: a”(?a @ B @@ 2PAVA @@ A)

class A
{
public:
    A()
    {

    }
};

class B
{
public:
    static A* a;
};

int main()
{
    B::a = new A;
}
Run Code Online (Sandbox Code Playgroud)

我必须在类之外定义静态类成员才能使其链接的规则是什么?

c++ static compiler-errors

2
推荐指数
1
解决办法
526
查看次数

标签 统计

c++ ×1

compiler-errors ×1

static ×1