Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    C++: usare un template con uno switch..

    ciao..
    qualcuno sa dirmi perchè il compilatore non mi fa passare questo codice e mi dice:
    codice:
    error C2360: initialization of 'd_vett' is skipped by 'case' label
    questo è il codice del template:

    codice:
    template <class tipo> class massimo {
    
    protected:
    	tipo max;
    	tipo vett[100]; 
    
    public: 
    	massimo(int j){
    
    	for(int i = 0; i<j; i++){ 
    			vett[i] = i+1;
    		}			
    	}
    
    };
    questa è la funzione:
    codice:
     int main(){
    
    	
    	ofstream out("c:/massimo.txt");
    	
    	int dim;
    	charscelta;
    
    	cout << "Inserire il numero di elementi del vettore (< o = 100) \n";
    
    	cin >> dim;
    
    	out << "gli elementi del vettore sono: " << dim;
    
    		do{
    			cout << "scegliere il tipo di elementi da utilizzare: \n";
    			cout <<  "1 --> per gli interi\n";
    			cout <<  "2 --> per i double\n";
    			cout <<  "3 --> per i char\n\n";
    			
    			cin >> scelta;
    		}while( scelta != '1' && scelta != '2' && scelta != '3');
    
    
    		switch(scelta){
    		case 1:
    			massimo<int> i_vett(100);
    			break;
    		case 2:
    			massimo<double> d_vett(100);
    			break;
    		case 3:
    			massimo<char> c_vett(100);
    			break;
    		}
    
    
    		return 0;
    }
    grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Non puoi inizializzare/dichiarare variabili in un case.

  3. #3
    e come mai con degli if annidati me li accetta?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.