Мне нужно создать матрицу с шириной и высотой, определяемую двумя параметрами, полученными из записи файла. Но в некоторых случаях, когда матрица слишком большая, у меня есть segmentation fault
. Я думаю, вероятно, потому, что я создаю матрицу статическим способом, поэтому мне нужно создать ее динамически, но здесь, где возникает моя проблема, потому что я не знаю, как это сделать. Мой код прямо сейчас это:Создать массив динамически в C++
FILE * fp;
unsigned int width=0;
unsigned int height=0;
//Open the file. argv[4] parameter contains the file
fp=fopen (argv[4],"r");
//Go to the last position which indicates the size
fseek(fp, 0, SEEK_END);
//Return to the start:
rewind(fp);
//The value of the first 4 bytes represent the width
size_t return1 = fread(&width,4,1,fp);
//The value of the next 4 bytes represent the height
size_t return2 = fread(&height,4,1,fp);
//Matrix creation
if (return1 > 0 && return2 > 0) {
unsigned int matrix[width][height];
Как вам удалось опубликовать свой код с помощью 'heigth' typo? В любом случае, начните: 1. Делайте вещи на C++, как это делается на C++ 2. с помощью Google – LogicStuff
@LogicStuff Edited. Извините, это была ошибка ввода – giorgioW