Una funzione normale (ad esempio printArray) accetta la matrice e le sue dimensioni (2 argomenti) per stampare elementi di una matrice.Eccezione C++: Matrici di lancio e acquisizione della dimensione dell'array nella cattura
Come fare lo stesso utilizzando le eccezioni? Più esattamente, come passare la dimensione dell'array per catturare il gestore? (supponendo che non abbia un const int SIZE dichiarato al di fuori del try-catch) es.
//void printArray(int* foo ,int size);
int foo[] = { 16, 2, 77, 40, 12071 };
//printArray(foo,5); //OK, function call using array accepts size=5
try{
//do something
throw foo;
}
catch (int* pa)
{
//I have to get array size to loop through and print array values
// How to get array size?
}
Grazie in anticipo
Se la funzione accetta array perché all'interno del blocco try l'hai inizializzato? int foo [] = {16, 2, 77, 40, 12071}; –
Lancia un 'std :: vector'. –
@Ashot: scusa, supponiamo int foo [] = {16, 2, 77, 40, 12071}; giace in fila prima di provare {. Ho modificato il codice sopra. Grazie Jerry, sì, il vettore funziona, ma sono interessato a sapere se è possibile ottenere le dimensioni dell'array usando l'array C++ di base – Sree