关于静态数据成员报LNK2001错误
我在一个头文件里声明了一个类,类有一个静态数据成员,也是类类型的,但是是另外一个类的类型,在CPP文件中定义了这个静态数据成员,单独编译、链接这个包能通过,但是我在另外的包里只要#include这个包含静态数据成员的类的这个头文件,就会报LNK2001错误,不知道为什么啊,请各位高手指教!
[解决办法]
链接时候要链接定义那个静态数据成员的.cpp文件,否则会链接失败
[解决办法]
你这个静态变量在cpp文件中初始化了没有
静态类成员变量需要初始化
class test
{
static int x;
};
cpp文件中写这样的才可以.
int test::x = 0;
[解决办法]
把那个cpp放到工程中来或者在工程中新建一个cpp文件,然后#include "那个cpp文件"
[解决办法]
同意2楼的说法,外面申明一下的。
[解决办法]
外面那个是定义。类里面那个才是声明~