来自Vector.end()的Segfault?

时间:2014-01-23 06:52:53

标签: c++ segmentation-fault

我知道我正在做一些非常愚蠢的内存访问,但无法弄清楚如何修复它。

if(isKeyDown("DERP"))
{
    thisStack->pop();
}

呼叫

void aeonstack::pop()
{
    if(!aeonstack::statestack.empty())
    {
        if(aeonstack::statestack.size()>1)
        {
            aeonstack::statestack.at(aeonstack::statestack.size()-1)->cleanUp();
            aeonstack::statestack.pop_back();
        }
        else
        {
            aeon::log("WARNING: Tried to pop only state.");
        }
    }
    else
    {
        aeon::log("WARNING: Tried to pop empty state stack.");
    }
}

导致段错误。

aeonsplice.com/segfault.zip

提供完整的源代码

1 个答案:

答案 0 :(得分:2)

指针变量thisStack似乎没有在任何地方初始化。你是在某处为这个指针构建aeonstack吗?我在源文件中找不到它?