我使用方法A
上课display()
。我创建了一个结构B
,其中包含一个类型为对象A
的静态变量:
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
时出错。
在这种情况下如何定义静态对象?
答案 0 :(得分:4)
您声明了static A a;
但没有定义它。在int main()
之前添加以下行,并且它已成功链接:
A B::a;