in C++ voglio inizializzare una doppia matrice (2-dimensionale doppio array) come io normalmente fare senza puntatori in questo modo:C++ inizializzazione array multidimensionale
double data[4][4] = {
1,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1
};
Tuttavia, poiché voglio tornare e passarlo a funzioni, ho bisogno di esso come un puntatore double**
. Quindi, in pratica, ho bisogno di inizializzare i dati in un modo carino (come sopra), ma poi ho bisogno di salvare il puntatore sull'array 2D senza perdere i dati quando la funzione termina.
Qualsiasi aiuto su questo? :-)
Perché avete bisogno come '' doppia **? Cosa c'è di sbagliato in un 'double (*) [4]'? –
Questo è C++. Può essere una classe, con questo array come membro, che restituisce un riferimento quando si chiama una funzione membro? –
possibile duplicato di [Passaggio di array bidimensionale tramite puntatore] (http: // stackoverflow.it/questions/3515045/passing-two-dimensional-array-via-pointer) È C, non C++, ma è esattamente lo stesso problema. –