非常简单的分段错误错误c ++ [关闭]

Posted

技术标签:

【中文标题】非常简单的分段错误错误c ++ [关闭]【英文标题】:Very simple segmentation fault error c++ [closed] 【发布时间】:2016-11-26 16:35:27 【问题描述】:

我对 c++ 没有经验,遇到了一个基本的分段错误错误,我不知道如何解决。我创建了一个动态二维数组,然后更改该数组的值。案例中的例子如下代码:

string** fishdata = new string*[3];
for(int i = 0; i < 3; ++i)
    fishdata[i] = new string[6];

fishdata[currentfish][count] += "example";

此代码的最后一行返回分段错误错误

【问题讨论】:

我同意 @Cody、std::vector&lt;std::string&gt;&gt;std::vector&lt;std::vector&lt;std::string&gt;&gt;&gt; 似乎是您想要的。 currentfishcount 的值是多少? 您的代码很丑,但可以按原样运行;参见演示 coliru.stacked-crooked.com/a/5cd43e2c61c2c66c>。请提供minimal reproducible example。 @YSC - 当两个变量的值未知时,如何判断它是否有效? @BernardoRodriguez - 你不是白痴,因为你犯了一个编程错误 - 我们都这样做:-) 但是下次你发布问题时,请尝试包含所有相关代码。 【参考方案1】:

正如许多人在 cmets 中所说,关于变量 count 的值是一个愚蠢的错误,它大于 5(数组的第二维的大小)。

【讨论】:

以上是关于非常简单的分段错误错误c ++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个非常简单的构造函数会导致段错误?

尝试在 C 中使用 realloc 扩展数组时出现分段错误错误 [关闭]

为啥在编译我的代码C(linux)时出现分段错误(核心转储)[关闭]

带有 std::promise 的 C++11 分段错误

c程序中的分段错误[关闭]

C++ char*[255] 产生分段错误 [关闭]