provlima me tin c++

George Nikolopoulos geonik500 at gmail.com
Sat Jul 18 10:46:23 EEST 2009


On Friday 17 July 2009 23:12:19 Giorgos Keramidas wrote:
> On Fri, 17 Jul 2009 23:04:58 +0300, tony gourd <tony_gourd at hotmail.com> 
wrote:
> > simera 3ekinisa me tin c++ kai katevasa to code::block lipon patao autin
> >
> >> tin entoli (apo to biblio pou agorasa) #include <iostream.h>
> >>
> >> void main(void)
> >> {
> >>     cout <<"Η C++ κάνει θαύματα!" ;
> >> }`
> >>
> >> kai mu vgazi auto dn exo katalavi ti prepei na kano
> >>
> >> main' must return `int'
>
> Κοίτα καλύτερα το μήνυμα λάθους.  Μετά κοίτα τι επιστρέφει η main() σου.
>
> Πριν μάθεις C++ χρειάζεσαι ένα καλύτερο βιβλίο, γιατί αν λέει ότι η main
> μπορεί να έχει return type `void' δεν είναι απλά άχρηστο είναι ΕΝΤΕΛΩΣ
> άχρηστο σε κάτι πολύ απλό.
>
> Φαντάζομαι τι τραγικότητες θα χρησιμοποιεί ως παραδείγματα σε κάπως πιο
> περίπλοκα και στρυφνά μέρη της γλώσσας, όπως η κληρονομικότητα σε ΟΟ
> classes και τα templates...  ΤΡΕΧΑ ΓΡΗΓΟΡΑ ΜΑΚΡΙΑ από βιβλία που ακόμα
> κι αυτό το απλοϊκό παράδειγμα το γράφουν λάθος.

Αν δεν έχεις κάνει λάθος στην αντιγραφή, τότε το βιβλίο όντως είναι για 
πέταμα.
Κανονικά η main είναι int main(int argc, char** argv)
Ο gcc σε αφήνει να την δηλωσεις και int main().
Επίσης το header είναι iostream όχι iostream.h.
Ακόμα το cout << "Η C++ κάνει θαύματα!" ; δεν θα δούλευε στον gcc λόγω του ότι 
το stream cout είναι στο namespace std. 
Το σωστό θα ήταν std::cout << ...
Τώρα για να μην είμαστε και τελείως κακοί με τους συγγραφείς του βιβλίου δεν 
νομίζω να μην έχουν τρέξει το παράδειγμα που χρησιμοποιούν. Το πιο πιθανό 
είναι να υπάρχει κάποιο C++ implementation (γκουχ, Microsoft visual C++, 
γκουχ) που να μεταγλωτίζει το συγκεκριμένο κώδικα και να βγάζει το 
αναμενόμενο εκτελέσιμο παρόλο που δεν είναι σύμφωνο με το πρότυπο της C++.


More information about the Linux-greek-users mailing list