PDA

View Full Version : [C++,C,ADA95]comando per sopprimere il warning per mancato return


magoronzo
02-08-2007, 11:27
Ciao a tutti
vorrei sapere se esiste un qualsiasi modo per disabilitare i warning che avvertono che una funzione e' possibile che non abbia il return.
ES

funzione A return b
if ....
return b
else
printf(ciao);

questa funzione mi genera un warning che mi informa che e' possibile che la funzione non abbia un return(nel caso else).
come faccio a disabilitarli?
grazie e CIAO!

cionci
03-08-2007, 08:40
Sinceramente non lo so...ma Il motivo ?

sottovento
03-08-2007, 09:12
Non esiste un modo standard, ogni compilatore ha le sue opzioni.
Per esempio, VisualStudio:

#pragma warning(disable: xxx yyy zzz)
Dove xxx yyy zzz e' il codice del warning che si vuole disabilitare.

Ma... fra tutti i warning che si possono disabilitare, questo e' proprio il meno indicato ed indica una situazione di errore. Addirittura Java considera questo un errore vero e proprio! Come mai vuoi disabilitarli?
L'unica risposta che mi sono dato e' che probabilmente stai usando un pezzo di software scritto da altri e che per "disposizioni dall'alto" non puoi minimamente toccare. Giusto?

magoronzo
03-08-2007, 09:28
ciao,
voglio disabilitarlo perche' il return non c'e' nel caso sia sollevata un eccezione.
La parte exception e' generata automaticamente dal generatore e io non ho modo di mettere le mani al generatore dicendo di ritornare qualcosa.
La parte di exception una volta completato il codice verra' eliminata ma ora e' importante ci sia per il debug, in modo che non crashi il sistema in caso di errore e in modo che sappia che funzione ha provocato l'errore.
in verita' io cercavo il modo di disabilitare quel warning in ada95 con il compilatore GNAT che si "appoggia" sul Gcc quindi mi basterebbe sapere come si fa con il Gcc, nessuno lo sa?

Ufo13
03-08-2007, 14:34
Mi permetto di dare un consiglio:

Fagli ritornare un valore anche se fosse -1 o NULL o qualsivoglia.