[英]Static Template Member Crashes
我具有以下設置,該設置在加載時使我的動態庫崩潰。
// 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之間的繼承在這里不重要,對吧? 我已經閱讀了有關靜態對象初始化順序的內容,但是由於我實際上並沒有多個靜態對象,所以只有一個靜態對象,因此我認為在這里不重要。
您有什么想法,這可能是什么問題?
編輯:這是一個堆棧溢出。 現在,我必須找出為什么編譯器決定將靜態成員對象放到堆棧上的原因,...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.