因为静态成员属于整个类,而不属于某个对象,如果在类内初始化,会导致每个对象都包含该静态成员,这是矛盾的。在《c++primer》里面说在类外定义和初始化是保证static成员变量只被定义一次的好方法。
不仅仅是static的成员不能在类内定义,const类的也不能在类内定义