关于继承中static的问题?
为什么基类中声明一个static的对象(是public的),在基类中不能够取用呢?
代码如下class A
{
public:
A()
{
size = 0;
cout<<"A"<<endl;
}
virtual void A1()
{
cout<<"A1"<<endl;
}
static int size;
};
class B : public A
{
public:
void A1()
{
cout<<"B1"<<size<<endl;
}
};
编译通不过,会报test.obj : error LNK2001: unresolved external symbol "public: static int A::size" (?size@A@@2HA)这样的错误,请问这是什么原因啊?