c++类的静态成员初始化

c++类中静态成员赋值问题
类,初始化如下,初始化是在类外

private:
    int weight;
    static int totalweight ;

int Goods::totalweight = 0;

调试一直报这个多次初始化错误,但我看网上都是这么写的啊,求指点!图片说明

在头文件中声明,在Cpp文件中定义,我这边没有报错呀。

基础类型int的变量的初始化值,系统已默认为0。定义的时候已经初始化为0,你又在外部定义,自然会报如此错误

int Goods::totalweight = 0; 移到.cpp就不会报错了

int Goods::totalweight = 0把前面的int去掉改成Goods::totalweight = 0
前面带类型就是声明和定义啊