Проблемы с некорректными значениями в 2D-массивах (фотонные частицы) - PullRequest
0 голосов
/ 29 апреля 2020

У меня проблемы с пониманием того, как получить элементы из многомерного массива в C ++. Код работает на моем фотоне частицы, и не похоже, что у меня есть какие-либо ошибки компиляции, но когда я проверяю свое напечатанное значение, я ожидаю получить возвращаемое значение 1000. Вместо этого я получаю то, что кажется постоянное случайное значение -1069809521. Я знаю, что проблемная область TotalTime += (*FaceEmoteTimeArray[FaceNumber][i]);, но не знаю почему. Полный код:

const int FaceEmoteTime0[31] = {143, 143, 143, 142, 143, 143, 143};
const int FaceSize0 = sizeof(FaceEmoteTime0) / sizeof(FaceEmoteTime0[0]);

const int* FaceEmoteTimeArray [][FaceSize0] = {FaceEmoteTime0};
const int FaceSizeArray[] = {FaceSize0};

int TotalTime;
int Plays;
int FaceNumber = 0;

void setup() {
  Serial.begin(115200);
}

void loop() {
  if (Plays == 0) {
    for (int i = 0; i < (FaceSizeArray[FaceNumber]); i++) {
      TotalTime += (*FaceEmoteTimeArray[FaceNumber][i]);
    }
    Serial.println(TotalTime);
    Plays++;
  }
}
...