假设我有三个文件:A.hpp,A.cpp,B.cpp
以下是A.hpp的内容:
#ifndef CELLML_MODULES_HPP
#define CELLML_MODULES_HPP
static Cardboard *cb1; <--- assume Cardboard as a C++ generic class
...
int dummy_funct();
#endif
对于A.cpp:
#include "A.hpp"
int dummy_funct()
{
cb1 = new Cardboard();
...
cb1->doSomething();
}
最后,B.cpp:
#include "A.hpp"
int main()
{
...
dummy_funct();
...
cb1->doSomething();
}
在B.cpp,cb1-&gt; doSomething得到错误NULL指针,因为cb1仍为NULL。我已经确保在dummy_funct函数中初始化了cb1。为什么会这样?即使在初始化之后静态类也可以为NULL吗?