Newsgroup: it.comp.lang.c++
Titolo: void main() e int main()

Con MS VC++ 6.0 se scrivo
void main() {
}
non mi viene segnalato nessun errore e nessun warning.
Con g++, invece, void main() mi viene segnalato
come errore ("main must return int")
Chi ha "ragione" dei due compilatori?
Grazie

la seconda che hai detto!

 
SE non sbaglio (e non e' detto) lo standard dal '92 impone che main 
torni un int, mentre lo si può usare (SEMPRE se non sbaglio) con o senza 
parametri:
int main( )
oppure
int main( int argc, char ** argv)
OVVIAMENTE ( e qui NON sbaglio) MSVC++ è moooolto distante dallo standard...

 OVVIAMENTE ( e qui NON sbaglio) MSVC++ è moooolto distante dallo standard...
Veramente VC++ 7.1 e' tra i compilatori piu' conformi, anche se manca
ancora qualcosa.
Ciao,
Nicola

On 19 Nov 2003 00:49:12 -0800, Nicola....@ObjectWay.it (Nicola
Musatti) wrote:

date a parte, lo standard dice che main restituisce un intero. Poi, se
su altre cose VC++ è più conforme allo standard di g++, quello è un
altro discorso (sul quale non so nulla ^_^)
---
Membro numero 85 del Luigino Fans Club.
Luigino sei tutti noi!
Anche se ti ho plonkato il tuo ricordo sarà per sempre!

 Nicola
L'ho utilizzato la prima volta ieri l'altro, sono fermo ad una buona 
conoscenza del 6 e alcune cose sono un pò difformi. Sicuramente più del g++.

OVVIAMENTE ( e qui NON sbaglio) MSVC++ è moooolto distante dallo standard...
La cosa, almeno per me, allucinante e' che ci sono colleghi che danno
ragione al compilatore MS denigrando g++...

 
Quoto, anche se allucinante mi sembra eccessivo. Vero č che molte 
discrepanze rispetto allo standard le comprendi solo quando hai 
sviluppato per entrambe le piattaforme, e posso assicirarti che cosě 
come ci sono persone che denigrano g++ avendo lavorato SEMPRE solo sotto 
MS ce ne sono altre che non hanno MAI utilizzato altro che g++ e sparano 
m***a su MS.
Ognuno ha i suoi pregi e difetti, quanto poi un compilatore sia affine 
ad uno standard e' una cosa che NON puň rimanere nell'ambito del parere 
personale ma deve essere verificata perchč trattasi di dato OGGETTIVO.
IMHO, ovviamente.
Ciao

 ragione al compilatore MS denigrando g++...
?!?
Non si tratta di dare ragione ad un compilatore oppure all'altro a seconda
di quale ti piace di piu'....
Dal tuo discorso traspare che preferisci il gcc, bene, ma non per questo
devi diventare "un essere acritico che non pensa".
Esiste uno standard, puoi consultarlo (putroppo non e' gratis). Solo
consultando lo standard puoi scoprire la "verita'" , e NON vedendo quello
che fa il tuo amato g++.
Poi, per quanto ti possa sembrare impossibile... Il VC++ 7.1, come tra le
altre cose ti e' gia' stato detto, e' trai i compilatori piu' conformi allo
standard che si possano trovare ora in giro.
Poi se sia piu' conforme il g++ o il VC++ e' aperto a dibattito, che spero
*non* parta su questo NG, ma credimi, non ci sarebbe nulla di "allucinante"
se in alcune cose il VC++ avesse ragione ed il g++ torto (e viceversa).
Se poi usi VC++ 5 o VC++ 6 e lo paragoni con l'ultima versione scaricata in
tempo reale del gcc (come fanni in molti) allora bravo, giosci pure del
fattto che il tuo g++ del 2003 e' molto piu' conforme del compilatore MS
uscito prima dell'uscita dell'ultimo standard del C++ (rispettivamente 96-97
per la versione 6 e qualche anno prima per la 5).
Tommy

 per la versione 6 e qualche anno prima per la 5).
Concordo col tuo discorso in generale; resta il fatto che la prima
versione di VC++ ragionevolmente conforme allo standard e' la 7.1 che
e' disponibile solo da 6 mesi. Se si parla spesso di VC++ 6 e' anche
perche' e' rimasta a lungo l'ultima versione. Alla fine della fiera il
team gcc ha iniziato ben prima di Microsoft lo sforzo per rendere il
proprio compilatore conforme allo standard.
Ciao,
Nicola

 proprio compilatore conforme allo standard.
Concordo, VC++ 6 e' rimasta per *troppo* tempo l'ultima versione (mentre era
uscita prima dello standard).
Questa e' certamente una mancanza della ditta in questione.
Tommy