public:
static int A[4][4];
static int *p[4];
}
能不能在类外这样初始化?
int *CKeyboardApp::p[4]={CKeyboardApp::A[0],CKeyboardApp::A[1],CKeyboardApp::A[2],CKeyboardApp::A[3]};
写了个Test,看吧
我定义了啊,静态成员不是独立分配内存吗?
在类里定义的时候就分配了内存了~~
另外,我是在类里定义的静态成员;
类里的那叫声明, 类里的静态成员必须在类外定义才能使用
但是报错了~~
追答注意,类的static成员变量定义不能放在任何函数之内。就是上面的语句不能放在任何函数之内。还有,把
int CKeyboardApp::A[4][4] = {0};
放在前面。