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(){}
发布了58 篇原创文章 · 获赞 20 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/GENGXINGGUANG/article/details/103156404