Normalerweise macht man das als Pointer-Auf-Pointer mit Größenangaben. Wenn du einen neuen Array in der Funktion erstellen willst, und DEN dann zurückgeben, mußt du ihn sowies mit new anlegen. Sowas wie
int** foo() { int x[4][4]; return x; }
funktioniert NICHT, weil der Array x am Ende der Funktion "gelöscht" wird.
int** bar(int **input, int dimX, int dimY) {
int **result;
result = new int[dimX];
for (int i=0; i
result[i] = new int[dimY];
for (int j=0; j
result[i][j] = 2*input[i][j]; // blub...
}
}
return result;
}
....
int array[4][5];
....
int **result = bar(array, 4, 5);
bye
geschrieben von Marco13 , 12.11.2005, 14:32 Uhr , 34 mal gelesen