Ich möchte ein zweidimensionales Array an eine Funktion übergeben, um es zu drucken. Hier ist mein Code so weit. Wie Sie auf dem Kommentar sehen können, kompiliert es nicht, wegen eines inkompatiblen Typs.C++ zweidimensionales Array an Funktion übergeben
FRAGE
Wie kann ich die zweidimensionale Anordnung zu printIt
passieren? Wenn ich es printIt(int a(*)[50][50])
stelle ich während der Kompilierung die anderen Fehler erhalten, weil returning array is not allowed
using namespace std;
void printIt(int a[50][50]);
int main(int args, char *argv[])
{
int a[50][50];
int j = 0;
for (int i = 1; i < 6; i++)
{
a[i][j] = i;
// the same should be printed out inside printIt
cout << " " << a[i][j];
// not compiling
// argument of type int is incompatible with int(*)[50]
printIt(a[i][j]);
}
}
void printIt(int a[50][50])
{
cout << " " << a[50][50];
}
Sie müssen 'printIt (a);' .und 'a [50] [50];' aufrufen, greift auf das Array außerhalb der Grenzen zu. Ich sehe keinen Sinn darin, was Sie in Ihrem Code tun. Was willst du eigentlich erreichen? –
Sie sehen Müllwerte gedruckt, nicht _ "der Speicherort" _. –
Wenn ich ein [50] [50] mache, lautet das Ergebnis 7862380. Dies ist nur eine kleine Lernsache hier. Ich spielte mit zweidimensionalen Arrays herum und druckte das Ergebnis. Also dachte ich, wie kann ich das zu einer separaten Funktion extrahieren, aber das ist, wo ich stecke – xhallix