PDA

Visualizza la versione completa : [c]conversioni di tipo argomenti di funzione in c89


felpone
31-08-2012, 19:09
Il mio dubbio è questo:
Chiamo una funzione senza un prototipo e definendola dopo la sua chiamata;
il compilatore assume che il tipo restituito sia INT e dopo come incontra la definizione della funzione se il tipo restituito non è int darà errore(giusto?).
Per quanto riguarda gli argomenti avverrà una promozione di default e poi appena incontra la definizione della funzione cosa accade??

shodan
31-08-2012, 19:46
In teoria non dovrebbe nemmeno compilare.

felpone
31-08-2012, 22:54
Ho risolto,
praticamente viene effettuato il default promotions sugli argomenti e questi verrano passati ai parametri della funzione.Se il tipo dei parametri corrisponderà a quello degli argomenti bene,altrimenti la funzione verrà eseguita lo stesso senza nessun errore da parte del compilatore ma potrebbe esserci undefined behavior

Loading