尝试读取vector(C ++)时访问冲突?

时间:2018-05-17 16:46:44

标签: c++ memory stdvector access-violation

我一直有一个奇怪的错误,我无法弄明白。我创建了一个向量,其中包含指向我自定义类的指针。但是,由于我没有推动任何东西,因此矢量不应该包含任何元素。当尝试循环它(或简单地调用.size())时,我得到访问冲突。任何人都知道为什么会这样?以下是供参考的代码:

void UserInterfaceManager::DrawWidgets(sf::RenderWindow* l_renderWindow)
{
    std::cout << m_uiWidgets.size();
    for (sf::Int16 i = 0; i < static_cast<sf::Int16>(m_uiWidgets.size()); i++)
    {
        m_uiWidgets[i]->DisplayWidget(l_renderWindow);
    }
}

UserInterfaceManager.h中的uiWidgets声明

std::vector<UserInterfaceWidget*> m_uiWidgets;

提前致谢!

1 个答案:

答案 0 :(得分:0)

对不起,伙计们,结果证明这是一个非常愚蠢的错误 - 我有一个UserInterfaceManager类本身的指针问题,所以传感器根本没有正确创建。道歉并感谢所有帮助过的人!