lolek Δημοσ. 28 Νοεμβρίου 2010 Δημοσ. 28 Νοεμβρίου 2010 Εχουμε για παράδειγμα τον παρακάτω κώδικα: > Void A_Class::A_function(){ switch(num){ case 2: int k=123; init[k][k]; string s="ok"; break; case 7; int k=67; init[k][k]; string s="bla"; break; } cout << "xrhsimopoihse ths metablhtes pou einai mesa sthn switch" << endl; cout << "file sugnwmh den mporw na tis xrhsimopoihsw.bgazw sfalmata"; } //end of function Όπως θα καταλάβατε το προβλημά μου είναι οτι ο κώδικας μετά από την switch δεν "βλέπει" τις μεταβλητές που είναι μέσα στο case 2 για παράδειγμα.
papaniki Δημοσ. 28 Νοεμβρίου 2010 Δημοσ. 28 Νοεμβρίου 2010 Όταν δηλώνεις μεταβλητές μέσα στην switch είναι τοπικές και μπορούν να χρησιμοποιηθούν απο το σύστημα σου μόνο στη switch. Αν θέλεις να τις χρησιμοποιήσεις γενικά στο πρόγραμμα σου τότε θα πρέπει να τις κάνεις καθολικές.Δλδ θα τις δηλώσεις στην main.
lolek Δημοσ. 28 Νοεμβρίου 2010 Μέλος Δημοσ. 28 Νοεμβρίου 2010 οκ ευχαριστω.δεν με βολευει να τις ορισω στη main.δεν πειραζει απλά θα υπαρχει επαναλαμβανόμενος κώδικας στα cases μάλλον.Τί να κάνουμε;
papaniki Δημοσ. 28 Νοεμβρίου 2010 Δημοσ. 28 Νοεμβρίου 2010 Χμμμ αν κατάλαβα θέλεις να χρησιμοποιήσεις συγκεκριμένες μεταβλητές μονο στη switch.Οπότε αυτο που πρέπει να κάνεις είναι να τις δηλώσεις αμέσως μετά την αγκύλη της switch. Έτσι θα γίνουν χρήσιμες για όλα τα cases..και έτσι γλιτώνεις και αρκετό κώδικα
DuckJump Δημοσ. 28 Νοεμβρίου 2010 Δημοσ. 28 Νοεμβρίου 2010 Χμμμ αν κατάλαβα θέλεις να χρησιμοποιήσεις συγκεκριμένες μεταβλητές μονο στη switch.Οπότε αυτο που πρέπει να κάνεις είναι να τις δηλώσεις αμέσως μετά την αγκύλη της switch. Έτσι θα γίνουν χρήσιμες για όλα τα cases..και έτσι γλιτώνεις και αρκετό κώδικα +1 τον φιλο μου
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.