2012-05-10 9 views
10

Sto eseguendo il debug del mio codice C++ in Visual Studio 2010 e voglio vedere il contenuto del mio array, diciamo Q, che è 17x17. Quando inserisco un breakpoint e provo a eseguire il debug, vedo solo la variabile "Q". Quando lo porto alla schermata "Guarda" e lo rinominano in "Q, 17", vedo un livello in basso.Come visualizzare tutti gli elementi di una matrice bidimensionale in Visual Studio 2010?

Ma voglio vedere anche l'altra dimensione. Non riesco a scrivere "Q, 17,17". Qual è il comando corretto?

Grazie ...

risposta

13

Non è possibile, almeno non direttamente.

Ciò che è possibile fare è inserire &array[0][0] nella finestra di memoria, quindi ridimensionarlo in modo che il numero di colonne corrisponda a una riga di dati array.

In alternativa, si può mettere array[0],17 nella finestra di controllo, e poi ripetere per array[1],17, ecc

non è la risposta che stavate cercando, forse, ma la finestra di controllo, mentre piuttosto potente, proprio non posso Fai quello che vuoi.

+0

Grazie, è abbastanza per me. –

0

La soluzione proposta funziona solo con gli array 1D. Ma una matrice 2D che ha dimensione fissa per ogni riga (vedere la prima dimensione come una fila come in matematica) può essere assegnato come matrice 1D come segue:

int ** a = new int * [n]; 
int * b = new int [n*n]; 

a[0] = &b[0]; 
for (int i=1; i<n; i++) 
{ 
    a[i] = a[i-1]+n; 
} 
int count=0; 
for (int i=0; i<n; i++) 
{ 
    for (int j=0; j<n; j++) 
    { 
     a[i][j]= rgen.randInt(-10,10); 
    } 
} 

È quindi possibile utilizzare a come matrice in codice e visualizza usando dire b,100 se la tua matrice è 10 per 10.

Problemi correlati