结构中的静态对象

Static object in struct

本文关键字:对象 静态 结构      更新时间:2023-10-16

我有一个方法为display()的类A。我用对象A:类型的静态变量创建了一个结构B

class A{
public :
    void display()
    {
        cout << "in A " << endl;
    }
};
typedef struct B{
    static A a;
} bb;
//B::a.display();
int main() {
    bb b;
    bb::a.display();
    return 0;
}

现在我在尝试访问a时遇到一个错误。

在这种情况下,我如何定义静态对象?

您声明了static A a;,但没有定义它。在int main()之前添加以下行,它将成功链接:

A B::a;