矢量矢量:分段故障

时间:2016-01-07 16:30:09

标签: c++

我在运行时遇到分段错误错误,这是我的代码,其中包含发生错误的行的指示:

编辑:变量Scenario是Problemsme类的一个属性,我发布的代码是其构造函数的代码

编辑:错误发生在运行时

public class MyController : BaseController
{
    public ActionResult DoSomeUserStuff()
    {
    }

    [OverrideAuthorization(FiltersToOverride = typeof(CustomAuthorizeAttribute))]
    [CustomAuthorizeAttribute(Role = "Admin")]
    public ActionResult DoSomeAdminStuff()
    {
    }
}

1 个答案:

答案 0 :(得分:0)

您永远不会向demandes向量添加任何内容。在空向量上调用operator[](索引总是超出范围)是未定义的行为。

要解决此问题,请使用demandespush_back将元素添加到resize。要同时调整内部向量的大小,您可以执行demandes.resize(N, std::vector<int>(M))。另外,请考虑使用at而不是operator[],因为它会在超出范围的访问时抛出异常,而不是导致未定义的行为。