我在加载时崩溃了我的动态库。
// in a.hpp
template <unsigned int Size>
class ATemplate : public A
{
public:
ATemplate() : A(Size)
{
init()
};
void init()
{
// does stuff, it crashes here or "before" init() because "this" points to some random memory,...
}
}
// in b.hpp
class B
{
public:
static const int Size = 128;
static ATemplate<Size> Template;
}
// in b.cpp
ATemplate<B::Size> B::Template = ATemplate<B::Size>();
// also crashes like this:
ATemplate<B::Size> B::Template;
Afaik,A和B之间的继承不应该在这里重要,对吧?我已经阅读了有关静态对象初始化顺序的内容,但由于我不是真的有多个静态对象,只有一个,我不认为这在这里很重要。
你有什么想法,这可能是什么问题?
答案 0 :(得分:0)