C++ 结构指针数组,获取segfault

C++ 结构指针数组,获取segfault,c++,pointers,C++,Pointers,我得到以下方面的错误: myclass.h class myclass { struct stuSomething { ... stuSomething(){...} }; public: static myclass* Instance() { if (!instance) new myclass(); return instance; } void

我得到以下方面的错误:

myclass.h

class myclass
{
    struct stuSomething
    {
        ...
        stuSomething(){...}
    };

public:
    static myclass* Instance()
    {
        if (!instance)
            new myclass();
        return instance;
    }
    void myclass:someFun();

private:
    static myclass *instance;
    myclass();
    stuSomething *stuStack[SAMPLE_QUANTITY];
};
myclass.cpp

myclass* myclass::instance;
myclass::myclass()
{
    for(int i = 0; i < SAMPLE_QUANTITY; i++)
        this->stuStack[i] = NULL;
    instance = this;
}

myclass::someFun()
{
    for(int i = 0; i < SAMPLE_QUANTITY; i++)
        if(this->stuStack[i] != NULL) // I get segfault here! for i = 0
            ...
}
myclass*myclass::instance;
myclass::myclass()
{
对于(int i=0;i<样本数量;i++)
此->堆栈[i]=NULL;
实例=此;
}
myclass::someFun()
{
对于(int i=0;i<样本数量;i++)
如果(this->stuStack[i]!=NULL)//我在这里得到segfault!对于i=0
...
}
但是当我把

for(int i = 0; i < SAMPLE_QUANTITY; i++)
    if(this->stuStack[i] != NULL) 
        ...
for(int i=0;istuStack[i]!=NULL)
...
在构造函数中,在我填充stuStack之后,我没有得到segfault


我觉得我明显遗漏了什么。问题的原因是什么?

检查
这个
指针,它可能无效。

请创建一个演示如何使用类和函数的指针。这个
指针有效吗?stustack成员变量一般来说,不要在构造函数中设置静态成员变量。而是在
Instance
静态成员函数中执行,例如
Instance=newmyclass。这就是为什么获取main也很重要的原因,这样我们就可以知道您如何调用函数以及您在做什么