为什么我会收到浮点异常错误?

时间:2012-10-14 01:11:44

标签: c++ arrays floating-point-exceptions

我是新手程序员,所以请与我打交道。我正在编写一个分析数据的程序。当我执行程序时,我收到一个“浮点异常”,我不知道为什么。以下是错误源自的代码部分。据我所知,if语句似乎是问题,但我不明白为什么。非常感谢您提供的任何帮助!

double tArray[600][49];

void main() {
  double finalArray[600][0]
  double n = 0;
  int h = 0;
  try {
    for (int i = 0; i < 600; j++) {
      for (int j = 1; j < 16; j++) {
        h++;
        n = tArray[i][j * 3 - 1] - tArray[i][j * 3 - 2];
        double t = -30;
        if (n < t) {
          finalArray[i][0] = tArray[h][3 * j] - tArray[h + t][3 * j];
          h++;
        }
      }
    }
  }
}

2 个答案:

答案 0 :(得分:1)

尝试将finalArray声明为:

double finalArray[600][1];

原始声明似乎​​没有为元素分配任何空间。

如果没有尝试只分配这样的单维数组:

double finalArray[600];

希望这有帮助!

答案 1 :(得分:1)

声明double finalArray[600][0]表示数组是0个元素的600个元素。我想你想要第二个维度为1.记住,你需要声明行数和列数,但索引从0开始。