Примечание. Вместо std я использую другие функции: :min(), потому что мне не разрешено импортировать алгоритм для этого проекта.
Это ошибка, о которой сообщил clang-tidy:
Код: Выделить всё
2nd function call argument is an uninitialized value
Код: Выделить всё
int** SeamCarver::CarvingSeamVertical() const {
int** energies = new int*[height_];
for (unsigned int row = 0; row < height_; row++) {
energies[row] = new int[width_];
for (unsigned int col = 0; col < width_; col++) {
energies[row][col] = 0;
}
}
for (unsigned int col = 0; col < width_; col++) {
energies[height_ - 1][col] = this->GetEnergy(height_ - 1, (int)col);
}
for (int row = height_ - 2; row >= 0; row--) {
for (int col = 0; col < width_; col++) {
int best = 0;
if (col == 0) { //error occurs here v
best = FindMinTwo(energies[row + 1][col], energies[row + 1][col + 1]);
} else if (col == width_ - 1) {
best = FindMinTwo(energies[row + 1][col - 1], energies[row + 1][col]);
} else {
best = FindMinThree(energies[row + 1][col - 1],
energies[row + 1][col],
energies[row + 1][col + 1]);
}
energies[row][col] = this->GetEnergy(row, col) + best;
}
}
return energies;
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... his-c-code
Мобильная версия