Я использовал 640, 480, 0 в качестве входа, но он дал ошибку сегментации. Что может быть причиной этого?Что может вызвать ошибку сегментации в следующем коде?
/* Changes the size of an image, allocating memory as necessary, and
setting all pixels to fillcolor. Returns 0 on success, or a non-zero error code.*/
int Image::resize(unsigned int width, unsigned int height, uint8_t fillcolor){
if(pixels) {
for(int i = 0; i < rows; i++) {
delete[] pixels[i];
}
delete[] pixels;
}
pixels = new uint8_t*[height];
if(pixels == NULL) {
return 1;
}
for(int i = 0; i < height; i++) {
pixels[i] = new uint8_t[width];
if(pixels[i] == NULL) {
return 1;
}
}
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
pixels[i][j] = fillcolor;
}
}
cols = width;
rows = height;
return 0;
}
Я использовал 640, 480, 0 в качестве входа, но он дал ошибку сегментации. Что может быть причиной этого?
Спасибо! Знаете ли вы, что может вызвать ошибку сегментации в этом коде: http://stackoverflow.com/questions/38868397/segmentation-fault-when-loading-a-file Кажется, что это аналогичная проблема, м не уверен – Mil3d