Για να είμαστε ακόμα πιο δίκαιοι, το <iostream.h> και το σκέτο cout ήταν απολύτως έγκυρα στην προηγούμενη έκδοση της C++ (2η έκδοση του βιβλίου). Για το void main(void) δεν νομίζω να ήταν έγκυρο ποτέ (εκτός ίσως από την πολύ αρχή της C++), σίγουρα ήταν κάποτε έγκυρο στην C (αλλά τώρα πια νομίζω ούτε εκεί είναι έγκυρο).<br>
Άρα μάλλον το βιβλίο είναι απλώς... παλιό (ή, στη χειρότερη περίπτωση, ο συγγραφέας έχει μείνει πολύ πίσω...).<br><br>Ποιο βιβλίο είναι, αλήθεια;<br><br><div class="gmail_quote">2009/7/18 George Nikolopoulos <span dir="ltr"><<a href="mailto:geonik500@gmail.com">geonik500@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">On Friday 17 July 2009 23:12:19 Giorgos Keramidas wrote:<br>
> On Fri, 17 Jul 2009 23:04:58 +0300, tony gourd <<a href="mailto:tony_gourd@hotmail.com">tony_gourd@hotmail.com</a>><br>
wrote:<br>
> > simera 3ekinisa me tin c++ kai katevasa to code::block lipon patao autin<br>
> ><br>
> >> tin entoli (apo to biblio pou agorasa) #include <iostream.h><br>
> >><br>
> >> void main(void)<br>
> >> {<br>
> >> cout <<"Η C++ κάνει θαύματα!" ;<br>
> >> }`<br>
> >><br>
> >> kai mu vgazi auto dn exo katalavi ti prepei na kano<br>
> >><br>
> >> main' must return `int'<br>
><br>
> Κοίτα καλύτερα το μήνυμα λάθους. Μετά κοίτα τι επιστρέφει η main() σου.<br>
><br>
> Πριν μάθεις C++ χρειάζεσαι ένα καλύτερο βιβλίο, γιατί αν λέει ότι η main<br>
> μπορεί να έχει return type `void' δεν είναι απλά άχρηστο είναι ΕΝΤΕΛΩΣ<br>
> άχρηστο σε κάτι πολύ απλό.<br>
><br>
> Φαντάζομαι τι τραγικότητες θα χρησιμοποιεί ως παραδείγματα σε κάπως πιο<br>
> περίπλοκα και στρυφνά μέρη της γλώσσας, όπως η κληρονομικότητα σε ΟΟ<br>
> classes και τα templates... ΤΡΕΧΑ ΓΡΗΓΟΡΑ ΜΑΚΡΙΑ από βιβλία που ακόμα<br>
> κι αυτό το απλοϊκό παράδειγμα το γράφουν λάθος.<br>
<br>
</div></div>Αν δεν έχεις κάνει λάθος στην αντιγραφή, τότε το βιβλίο όντως είναι για<br>
πέταμα.<br>
Κανονικά η main είναι int main(int argc, char** argv)<br>
Ο gcc σε αφήνει να την δηλωσεις και int main().<br>
Επίσης το header είναι iostream όχι iostream.h.<br>
Ακόμα το cout << "Η C++ κάνει θαύματα!" ; δεν θα δούλευε στον gcc λόγω του ότι<br>
το stream cout είναι στο namespace std.<br>
Το σωστό θα ήταν std::cout << ...<br>
Τώρα για να μην είμαστε και τελείως κακοί με τους συγγραφείς του βιβλίου δεν<br>
νομίζω να μην έχουν τρέξει το παράδειγμα που χρησιμοποιούν. Το πιο πιθανό<br>
είναι να υπάρχει κάποιο C++ implementation (γκουχ, Microsoft visual C++,<br>
γκουχ) που να μεταγλωτίζει το συγκεκριμένο κώδικα και να βγάζει το<br>
αναμενόμενο εκτελέσιμο παρόλο που δεν είναι σύμφωνο με το πρότυπο της C++.<br>
<font color="#888888"><br>
--<br>
linux-greek-users mailing list -- <a href="http://lists.hellug.gr" target="_blank">http://lists.hellug.gr</a></font></blockquote></div><br><br>