|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
[C++]Funzione Void
Ciao a tutti, sono uno studente di 4° superiore e sto studiando C++, siamo arrivati alle funzioni, ma non riesco a capire come cavolo si usa il void.
Qualcuno può spiegarmelo gentilmente? Grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2002
Città: Salice(LE)
Messaggi: 112
|
Il void è una paola chiave come altre che indica al compilatore che la funzione non restituisce alcun valore
void somma(int i, int j) { int y=i+j; } nota la mancanza dell'istruzione return a differenza di questo qua sotto int somma(int i, int j) { int y=i+j; return y; }
__________________
meglio tacere e dar l'impressione d'esser scemi che aprire bocca e togliere ogni dubbio |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
Quindi, per esempio si usa void per la stampa??
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Oppure quando ti pagano e non vuoi dare il resto.....
![]()
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2001
Città: Milano
Messaggi: 3197
|
Ok, capito
Quindi per esempio per un ordinamento di un vettore uso void, perchè non restituisce nessun valore |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
comunque dipende da che cosa deve fare la funzione
io di solito faccio così: se la funzione può generare un errore (try and catch anyone?) allora la creo int, in modo da restituirmi un codice di errore altrimenti se sono CERTO che quella funzione non può non funzionare (scusate il gioco di parole) la creo void (ovviamente se non deve restituirmi nulla di importante...) |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
tipo 0 Ok -1 errore tipo 1 Ho ben compreso? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
se è sufficiente si, dipende dal progetto...
secondo me gli errori si possono gestire in 2 modi: 1. riempi il programma di catch e ad ogni errore fai una throw, magari con una classe derivata dalle exception delle stl che ti dia informazioni utili (ad esempio si può ricostruire l'ordine delle chiamate e capire che cosa ha fatto il programma per arrivare a quell'errore) ma non si può riempire un programma di catch... ricordo che per ogni blocco di controllo il compilatore aggiunge un bel po' di codice suo che, ovviamente, rallenta il tutto 2. utilizzare una "vecchia" gestione C... ovvero funzioni che hanno il loro bravo ritorno di errore (possibilmente non dei numeri messi a casaccio mentre si scrive ma dei define od un enum che contenga i codici, in modo da usare sempre lo stesso e poterlo cambiare velocemente), che deve essere gestito a manina di solito faccio così... funzioni che contengono, ad esempio, accessi a file vengono inglobate in un catch funzioni che non sollevano eventi (non di solito almeno) hanno una gestione degli errori a codice (si, di solito -1 e 0, altrimenti qualcosa di più complesso se è il caso) di solito metto anche un catch generico (...) in punti che so che possono dare qualche stranezza |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
mi farsti un esempio del tuo modo di lavorare?
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:41.