|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
[C] Dichiarare variabili in uno switch
Ma non è possibile dichiarare della variabili in un case di uno switch?
Perchè il compilatore mi dà errore, mentre se le dichiaro prima dello switch no
__________________
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Perché l'ANSI C prevede così.
Nello standard dell'89 (C89) le dichiarazioni vanno obbligatoriamente messe all'inizio del metodo, mentre nello standard del '99 (C99), come nel C++, le puoi mettere dove vuoi tu.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
int a;
/* ... */
switch (a)
{
case 1:
{
int b=10; /* Perfettamente legale ;) */
/* ... */
}
break;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Hmm... a proposito, quale compilatore usi?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Ma quindi io se voglio mettere una dichiarazione dentro un case o compilo in c++ o la metto prima che viene eseguito lo switch?
__________________
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
__________________
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
Non dovrebbe essere già di suo il case un blocco distinto?
__________________
|
|
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
A me personalmente non serve molto, anzi poche volte mettere una dichiarazione in mezzo al codice o in un sotto-blocco. Io normalmente sono abituato a dichiarare tutte le variabili che mi servono in testa alla funzione. Poi, ogni tanto, mi capita di inserire una dichiarazione nel blocco di un if o di un case (con { }), magari perché so già che quella variabile la userò proprio solo in quel blocco e basta e non nel resto della funzione. E questo vale in particolar modo in Windows quando programmo a livello SDK ed ho uno switch con tanti case dei vari messaggi di Windows. Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: San Marino
Messaggi: 309
|
Quote:
__________________
|
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:39.



















