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