然而有些时候会把函数的实现写在h文件里,这个时候在使用static成员变量和函数的时候就需要注意,h文件会被编译器认为是声明,因此如果在类中写 static int i;,则编译器会认为这是声明而不是定义,因此 i 实际上并不存在于内存中,这个时候如果在 h 文件的 静态成员函数中访问 i 则会报错 undefined reference to 。
静态成员函数里面不能使用非静态的成员变量 static QList<TreeNodeInterface*> GetChildList(NODETYPE nodeType){ if (m_Head->NodeType() == nodeType) { return m_Head->ChildList(); } foreach(TreeNodeInterface* node1, m_Head->ChildList()) { if (node1->NodeType() == nodeType) { return node...
不可以啊,必须在类外用类名称初始化,因为静态变量不属于哪一个类的对象,属于整个类。
静态成员变量不能在构造函数里初始化