C++ 访问空指针导致seg故障

C++ 访问空指针导致seg故障,c++,segmentation-fault,C++,Segmentation Fault,我有一个基于模板的类: template <typename T> class Foo { public: Foo(); bool iterateFoos(); private: Foo<T> *babyFoos[5]; }; 模板 福班 { 公众: Foo(); bool iterateFoos(); 私人: Foo*婴儿食品[5]; }; 在构造函数中,我将所有babyFoos设置为NULL: tem

我有一个基于模板的类:

template <typename T>
class Foo
{
    public:
        Foo();
        bool iterateFoos();
    private:
        Foo<T> *babyFoos[5];
};
模板
福班
{
公众:
Foo();
bool iterateFoos();
私人:
Foo*婴儿食品[5];
};
在构造函数中,我将所有babyFoos设置为NULL:

template <typename T>
Foo<T>::Foo()
{
    for(int i =0; i<5; i++) babyFoos[i] = NULL;
}
模板
Foo::Foo()
{

对于(int i=0;i如果它真的是导致segfault的
If
条件本身,这意味着
iterateFoos()中
this
的值无效-也许你在调用它时取消了对空指针/悬挂指针的引用。

请发布一个显示该行为的小程序。请发布
iterateFoos()
或者
i
超出了
babyFoo
的范围(或者
)不包含合理的值。发布完整的代码。@MikeCorcoran我认为这不是问题,因为babyFoos是一个定长的指针数组更新了我的帖子。afai可以看出,范围不是问题。一个愚蠢的错误。这里的问题是“这”。谢谢。
template <typename T>
bool Foo<T>::iterateFoos()
{
    for(int i=0; i<5; i++)
    {
        if(babyFoos[i] != NULL) { do stuff }
    }
}