C++静态错误:LNK1169 找到一个或多个多重定义的符号

我们都知道声明一个静态变量,同时一定要在类外对其进行赋初值,如果你没有赋初值,那么会导致错误,这是其一;

其二,一般我们在类中使用静态,而类的书写格式是一个.h文件对应一个.cpp实现文件。如果你的赋初值声明写在了.h文件中,那么就会报这个错误。改正方法就是把声明移到.cpp文件中,问题得以解决(反正我的是这个原因)

//class_A.h
class class_A
{
public:
	class_A();
	~class_A();
	static m;
};

//class_A.cpp
#include "class_A.h"
int class_A::m=0;

class_A::class_A(){}
class_A::~class_A(){}

posted on 2019-11-20 09:43  Nancy_Fighting  阅读(603)  评论(0编辑  收藏  举报

导航