View Full Version : [C++]Funzione Void
Gogeta ss4
12-10-2003, 10:24
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
supertondo
12-10-2003, 10:44
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;
}
Gogeta ss4
12-10-2003, 11:34
Quindi, per esempio si usa void per la stampa??
VegetaSSJ5
12-10-2003, 11:39
Originariamente inviato da Gogeta ss4
Quindi, per esempio si usa void per la stampa??
si, cioè si usa quando vuoi solo stampare senza restituire un valore.
maxithron
12-10-2003, 13:08
Oppure quando ti pagano e non vuoi dare il resto.....:eek:
Gogeta ss4
12-10-2003, 13:13
Ok, capito
Quindi per esempio per un ordinamento di un vettore uso void, perchè non restituisce nessun valore
VegetaSSJ5
12-10-2003, 15:04
Originariamente inviato da Gogeta ss4
Ok, capito
Quindi per esempio per un ordinamento di un vettore uso void, perchè non restituisce nessun valore
giusto.
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...)
Originariamente inviato da ri
se la funzione può generare un errore (try and catch anyone?) allora la creo int, in modo da restituirmi un codice di errore
E fai un controllo sul numero restituiro???
tipo
0 Ok
-1 errore tipo 1
Ho ben compreso?
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
mi farsti un esempio del tuo modo di lavorare?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.