非常简单的分段错误错误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<std::string>>
或 std::vector<std::vector<std::string>>>
似乎是您想要的。
currentfish
和 count
的值是多少?
您的代码很丑,但可以按原样运行;参见演示 coliru.stacked-crooked.com/a/5cd43e2c61c2c66c>。请提供minimal reproducible example。
@YSC - 当两个变量的值未知时,如何判断它是否有效?
@BernardoRodriguez - 你不是白痴,因为你犯了一个编程错误 - 我们都这样做:-) 但是下次你发布问题时,请尝试包含所有相关代码。
【参考方案1】:
正如许多人在 cmets 中所说,关于变量 count 的值是一个愚蠢的错误,它大于 5(数组的第二维的大小)。
【讨论】:
以上是关于非常简单的分段错误错误c ++ [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 C 中使用 realloc 扩展数组时出现分段错误错误 [关闭]