Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    40

    [C++] Problemi di comprensione

    Ragazzi, non sono molto esperto di programmazione C++, e non riesco a capire cosa possa significare questa riga di codice
    codice:
    virtual void advertise(const Filter & ) ;
    Filter dovrebbe essere una classe nota... e advertise una funzione... il problema non è neanche virtual usato per il polimorfismo... ma l'argomento... "const Filter &".

  2. #2
    Vuol dire che l'argomento è un riferimento (&) ad un un oggetto Filter che non potrà essere modificato dalla funzione (const).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    40
    Pubblicando non mi ero accorto dell'errore... ma non c'è nessun parametro dopo & c'è una parentesi e il ;.
    Ti ringrazio per l'interessamento

  4. #4
    Originariamente inviato da alabasta
    Pubblicando non mi ero accorto dell'errore... ma non c'è nessun parametro dopo & c'è una parentesi e il ;.
    Dal momento che si tratta della dichiarazione della funzione e non della sua definizione non è un errore, nei prototipi il nome del parametro si può omettere, basta specificare il tipo. In generale comunque io lo specifico sempre per chiarezza e perché così nell'IntelliSense (e anche andando a vedere direttamente il .h) mi compaiono i nomi dei parametri.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    40
    A ok. Capito. . Infatti, nello stesso codice non mio.. che sto cercando di capire ... ho trovato
    codice:
    class TemperatureMonitor: public Notifiable {
    public:
    	virtual void notify(Event & ) ;
    };
    
    void TemperatureMonitor::notify(Event & e) {
    	//
    	// gets the (int) value of the "temperature" attribute warning:
    	// this might generate an exception in case that attribute doesn't
    	// exist or if it is of a different type.
    	//
    	int temp = e["temperature"];
    
    	//
    	// does something with it
    	//
    	if (temp < 75) {
    		cout << "temperature is ok: " << temp << endl;
    	} else if (temp > 100) {
    		cout << temp << " is way too hot!" << endl;
    		//
    		// this will cause the main loop to terminate
    		//
    		S->exit_loop();
    	} else {
    		cout << temp << " is hot!" << endl;
    	}
    }
    il problema che il compilatore mi dice: " 'e' was not declared in this scope.... Grazie di nuovo. XD

  6. #6
    Ti dà solo quell'errore o anche altri prima?
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    40
    Mi sa che il problema è dovuto al fatto che il riconoscimento di alcune classi non è avvenuto... secondo me il codice è proprio scritto male... cmq mi sembra assurdo... dovrebbe essere funzionante... l'ho trovato qui: http://www.inf.usi.ch/carzaniga/sien...-win32-src.zip ma non riesco neanche a fare l nmake... ho provato a far funzionare la versione per linux; li riesco a fare il make ma ho problemi con la compilazione dei due file di esempio... http://www.inf.usi.ch/carzaniga/sien...ested_party.cc e http://www.inf.usi.ch/carzaniga/sien...nterest.cc.... Proprio li ho trovato di questi problemi... Ti ringrazio nuovamente per l interessamento... Html.it non mi ha inviato la notifica x questo non ti ho risposto subito...

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.