C++中类里面定义 静态成员变量的问题

class a
{
int aa;
static int aaa;
};
请大家看看 这个类的定义有什么问题?
如果我把 static int aaa;改成static int aaa=10;
一样出错 请问这是为什么?

类的静态数据成员在 类内只能声明,定义和初始化必须在类外
可以这样
class a
{
int aa;
static int aaa; //静态数据成员声明
};
int a::aaa=10; //静态数据成员的定义和初始化
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-14
类中的静态成员变量的初始化必须在类外实现!!
并且静态变量定义的关键是:
static const int aaa;
再类外初始化的格式是:const 数据类型 【类名】::变量名=数字 例如该程序中:
const int a::aaa=10;
相似回答