Newsgroup: it.comp.lang.c
Titolo: parametri di default di una funzione

Un saluto al NG, vi chiedo se e' possibile definire dei parametri di default
nella definizione di una funzione, in modo da non doverli riscrevere ogni
volta? Mi sembra si possa ma non riesco a trovare conferma.
Grazie mille,
 by E'S

 volta? Mi sembra si possa ma non riesco a trovare conferma.
Non in C, ti stai confondendo con il C++.
Luca
-- 
Home: 
http://kronoz.cjb.net
Un apostolo vedendo Gesu` camminare sulle acque:
- Cazzo se e` buono 'sto fumo!!!

 Luca
Grazie per la risposta :-(

 Grazie per la risposta :-(
Se proprio vuoi fare una porcata:
int foo(int a, int b, int c);
FOO(a) foo((a), 0, 1);
FOO(123);
Luca
-- 
Home: 
http://kronoz.cjb.net
Non sempre quello che viene dopo e` progresso.
Alessandro Manzoni

 Perche` porcata?!?
Prova ad avere la stessa funzione con un solo parametro di default...
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Puoi essere un po' meno sintetico e un pochino piu` chiaro?
Sta dicendo che non e' una bella soluzione perche' devi avere una macro 
diversa per ogni numero di parametri opzionali che vuoi, mentre il bello 
dei parametri di default del C++ e' proprio che non devi fare questo.
La sostanza e' (per replicare ad una tua mail poco piu' su in questo 
thread): il fatto che sia l'unico modo per fare la cosa in C, non 
significa che la sua realizzazione, _in generale_, non sia una porcata. 
Poi, capita di dover usare questi costrutti, e spesso e' anche la 
soluzione piu' corretta, ma non toglie che non sia bella ;)
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 soluzione piu' corretta, ma non toglie che non sia bella ;)
Sara` colpa mia che ragiono in maniera strana.
Io ritengo che se questa e` l'unica soluzione (e supponiamo per un momento
che lo sia) in un ambiente di lavoro ed e` sintatticamente lecita, allora
non esiste piu' dire se e` una bella o brutta soluzione.
Secondo me si puo` affermare cio` solo se c'e` una soluzione alternativa da
poter confrontare.
Ora, tornando alla questione, qui si sta parlando di parametri di default
intendendoli come quelli del C++, ma in realta` la soluzione proposta non si
comporta cosi`... (forse e` per questo che e` una portata...). Se si vuole
fare una cosa cosi` si dovrebbe usare una macro con il numero di parametri
variabili (seguendo lo standard C99)
La richiesta iniziale e` stata posta utilizzando termini infelici, forse era
sostanzialmente la richiesta di una ridefinizione di funzione... pero`
"No_name" non ha piu` dato segni di vita...
:(
Ciao

 Ciao
Visto che sono chiamato in causa rispondo:
in altri linguaggi di programmazione, io generalmente uso
ObjectPascal/Delphi, e' prevista la possibilita' di avere delle funzioni
con dei parametri di default. Non so se questo sia overloading implicito o
meno, c'e' questa possibilita'. Chiedevo semplicemente se fosse possibile
anche in C, tutto qua'. In C questo e' possibile solo attraverso l'uso del
#define ... Vabbuo' ne prendo atto e non intendo farne un problema di
stile/correttezza/o quant'altro.
Ho chiesto e voi gentilmente mi avete risposto.
Ringrazio tutti e alla prossima, :-)
 by E'S

  by E'S
Ciao

 poter confrontare.
Certo che ci sono soluzioni alternative: il C++ le offre :-).
Con questo commento (ironico) intendo dire: dato che si stava parlando 
dei costrutti che il linguaggio offre, puo' aver senso confrontarli con 
quelli di _altri_ linguaggi, perche' puo' portare a capire quali sono i 
punti forti e deboli del linguaggio in questione, e magari quindi 
spingere a seguire strade diverse (quasi sempre ci sono) per risolvere 
il medesimo problema.
Ovviamente, essendo quella proposta l'unica soluzione in C, e' anche la 
piu' bella in C (o la piu' brutta? La storia del bicchiere mezzo pieno e 
mezzo vuoto!) - che il massimo di un insieme singoletto sia l'unico 
elemento presente, e' quasi assiomatico :-).
Per riassumere la mia idea: posto che si riesca a dare un obiettivo 
giudizio di eleganza su un certo costrutto (cosa sicuramente dubbia, 
dato che, come dice Knuth, programmare e' un'arte, non una scienza), 
questa sua qualita' e' indipendente dal numero di soluzioni alternative 
che lo stesso linguaggio offre. Si ha poi tutto il diritto di rifiutare 
questa mia 'filosofia informatica' o 'estetica del codice', dato che non 
sono certo la persona piu' qualificata a parlarne :-)
