c++ - 在 C++ 中调试段错误

标签 c++ debugging multidimensional-array segmentation-fault

我需要帮助调试以下代码块。仅当我尝试将适当的 (char) 值分配给 squares[ i ][ j ] 时,此代码块才会给我一个段错误。我该如何解决这个问题?

for(int i=0;i<sides;i++){
    for(int j=0;i<sides;j++){
        squares[i][j] = '';
    }
}  

我在嵌套 for 循环之前使用以下代码声明了数组 squares[][]:

char **squares = new(nothrow) char*[sides-1];
for(int i=0; i < sides-1; i++){
    squares[i] = new char[sides-1];
}

最佳答案

声明空字符串数组的好得多方法是使用String[] 别忘了您使用的是C++。 在你的情况下,因为它看起来像你想要做一个方形数组,你可以使用 std::array 如果大小已知或 std::vector 用于未知尺寸。 现在对于严格的答案,在你的第二个循环中使用 j 而不是 i。

for(int i=0;i<sides - 1;i++){
    for(int j=0;j<sides - 1;j++){
        squares[i][j] = '';
    }
}  

强烈鼓励您尝试用 String 来审视您的问题,而不是重新发明轮子。 (感谢 NathanOliver 和 jsantander 的帮助)

关于c++ - 在 C++ 中调试段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847525/

相关文章:

C++ 语法错误 - 无法识别问题

c - gdb 输出和终端输出之间的差异

javascript - 通过AJAX将JS多维数组发送到PHP

java - 在 Java 中使用给定概率填充对象的二维数组

c - 指向带函数的二维数组的指针

c++ - 如何在我的 XML 文档中表示 '<' 字符?

c++ - 类中的枚举是静态的吗?

c++ - Eigen 中 maxCoeff 的奇怪错误

c++ - 我的 Visual C++ 程序可以监听它自己的调试输出吗?

python - 需要帮助修复我的 RK4 实现