类中静态成员初始化的问题???
class string
{
private:
char *str;
int len;
static int num; //3
static const int LIMIT=100; //4
public:
}
//可做如下测试。
#include <iostream>
class A
{
public:
static const int a = 10;
};
//const int A::a;
int main()
{
std::cout << &A::a << std::endl; //无法编译通过,会显示“undefined reference to A::a 的错误”
}
//上面的程序如果改成:
#include <iostream>
class A
{
public:
static const int a = 10;
};
const int A::a;
int main()
{
std::cout << &A::a << std::endl; //则编译,链接正常,并输出相应的地址值
}