在<深入浅出MFC 2e>里(P71)有这样一句话:
设定static成员变量初值时,不受任何存取权限的束缚。为什么在类中定义静态变量或函数时,为了外部(其它类或函数中)引用这个变量或函数时,要在public下,而在private下则不行。

解决方案 »

  1.   

    例如:
    在同一.cpp中class Cbb
    {
    private:
    static int mm;
    };int Cbb::mm=100;int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
    TRACE("\nbb=%d\n",Cbb::mm);
      return nRetCode;
    }  则出错:
    error C2248: 'mm' : cannot access private member declared in class 'Cbb'
    see declaration of 'mm'如果定义为public就正确这是不是与候老师说的“不受任何存取权限的束缚”有点矛盾?我很菜