Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Boh .... cioè definendo e istanziando l'oggetto all'interno del blocco del case, per esempio:
Codice sorgente - presumibilmente C++
switch(var){
case0:
//inizio blocco
AreaSeries serie =new AreaSeries();
//fine blocco
break;
case 1:
ColumnSeries serie =new columnSeries();
break;
}
l' ambiente dell'oggetto è il blocco e dovrebbe andare bene non trovo niente di strano
Ascolta non potresti fare una cosa di questo genere:
crei una super classe (anche astratta) Series
poi estendi Series in AreaSeries e columnSeries, cosi nello switch :
Codice sorgente - presumibilmente C++
Series serie;
switch(var){
case0:
//inizio blocco
serie =new AreaSeries();
//fine blocco
break;
case 1:
serie =new columnSeries();
break;
}
Cosi in questo modo dopo l'esecuzione dello switch serie sarà un oggetto di tipo AreaSeries o columnSeries.
Beh comunque prova a postare il codice che hai scritto..
Ultima modifica effettuata da Bonny il 29/11/2012 alle 15:11
Perdonami ma davo per scontato che lo switch avesse questa caratteristica.... non lo uso quasi mai solo e sempre il mio if e else if forever!!!!
comunque ho fatto dei test e quello che vuoi fare tu non puoi es:
Questo non funizona il compilatore da errore
Codice sorgente - presumibilmente C++
switch(var){
case 0:
float u;
break;
case 1:
int u;
break;
}
questo invece funziona
Codice sorgente - presumibilmente C++
if(var == 0){
float u;
}elseif(var == 1){
int u;
}
Quindi o usi gli if o fai la super classe come ho citato prima nel topic precedente..
A meno che altre persone non propongano altra soluzione..
Attento però: se lo fai con gli if "il tempo di vita dell'oggetto serie" sarà esclusivamente quello all'interno del corpo if invece, con la super classe (con lo stesso meccanismo di definire il riferimento all'oggetto 'Series serie' prima degli if) potrai usare l'oggetto anche dopo gli if... non so se mi sono spiegato...