Ich bin neu im Programmieren und ich versuche das zweidimensionale Array zu verstehen. Ich habe diesen Code geschrieben, um meinen Code zu testen, ob er funktioniert oder nicht. Leider bekomme ich einen Segmentierungsfehler. Ich weiß, das bedeutet, dass etwas, das ich geschrieben habe, für den Compiler nicht lesbar ist, aber ich weiß nicht, was es ist. weil mir alles gut scheint.Segmentierungsfehler zweidimensionales Array
#include<iostream>
using namespace std;
int main(){
int col, row,i;
int **array;
cout << "How many rows?\n";
cin >> row;
cout << "How many colomns\n";
cin >> col;
cout << "!!!!!!!!!!!!";
array = new int*[row];
for (int i = 0;i<row;i++){
array[i] = new int[col];
}
cout << "!!!!!!!!!!!!";
for(i=0; i<row; i++){
int x=1;
array[0][i]= x;;
x++;
}
cout << "!!!!!!!!!!!!";
cout << array[row][col];
for(i=0; i<row; i++){
delete [] array[i];
delete [] array;
}
return 0;
}
Der Fehler ist: " Wie viele Zeilen Wie viele colomns Segmentation fault (core dumped) ?"
'cout << array [Zeile] [Spalte];' ist außer Reichweite. 'array [row-1] [col-1]' ist so tief wie möglich. – WhozCraig
x ++; macht nichts; x endet am Ende jeder Schleifeniteration und wird zu Beginn der nächsten Iteration neu erstellt. – mjwach
Wir verwenden keine Zeiger und Arrays und neu und deete in C++ viel in diesen Tagen. Es gibt gesündere Alternativen wie std :: vector und std :: shared_ptr. –