插入弦线时的分割故障



我会得到一个分段故障,但我不使用任何指针。当我插入Stringstream时,这发生了。

std::string Relations::toString()
{
    std::stringstream restring;
    restring << ID << "(";
    restring << reList[0]; // segmentation fault
    for (int c = 1; c < reList.size(); c++)
    {
        restring << "," << reList[c];
    }
    restring << ")";
    return restring.str();
}

我回答了自己的问题,使我意识到这是一个愚蠢的问题。我在另一堂课中使用了这个班级,我的矢量没有什么。因此,我试图访问空矢量。

访问reList[0]之前,您必须检查它。

std::string Relations::toString()
{
    std::stringstream restring;
    restring << ID << "(";
    if (reList.size() > 0)
    {
        restring << reList[0];
        for (std::size_t i = 1; i < reList.size(); ++i)
        {
            restring << "," << reList[i];
        }
    }
    restring << ")";
    return restring.str();
}

相关内容

  • 没有找到相关文章