Unterschiedliche Compiler einmal Fehler einmal nicht???
-
Hallo,
habe folgendes (allen bekannt) Hello World programm:
#include <iostream.h> void main() { // Dies ist das Hello-World-Programm cout<<"Hello, world!"<<endl; };
aus dem Tutorial von Volkard, hier von c-plusplus.net
Jetzt hatte man mir bereits mitgeteilt, das die sache mit void veraltet wäre, weil ich im Dev-cpp immer eine Fehlermeldung erhalte.
Man schrieb hier im Forum, ich solle
#include <iostream> using namespace std; int main() { //blah, blah return 0; }
verwenden.
Allerdings geht mit dem Borland bcc32 Compiler auch die erste Methode.
Wo ist jetzt der Unterschied, warum mit dem einen Compiler so und mit dem anderen anders??? Es muß doch da einen Standard geben.
Da ich erst anfange, möchte ich natürlich direkt die richtige und auch zukünftige Methode erlernen.
Vielen Dank für Euro Hilfe.
-
Richtig, es gibt einen Standard, der nennt sich ISO/IEC 14882:1998, oder kurz ISO-C++. Der sagt u.a. dass main den Rückgabetyp int haben muss. Und gcc (der dem DEV-C++ unterliegende Compiler) hält sich daran anscheinend recht strikt, während das Borland C++ anscheinend nicht so tut.
Eine Entwurfsversion gibts hier: http://anubis.dkuug.dk/jtc1/sc22/open/n2356/
Den echten Standard kann man auch irgendwo kaufen, kostet $18 für ein PDF oder mehrere hundert für die Papierversion.EDIT: Oops, korrigiert
-
Der sagt u.a. dass main den Rückgabewert main haben muss
Was denn schon wieder ein neuer Standard? Und was kann der Typ main so?
Naja, Bashar meine wohl, dass main den Rückgabetyp int haben muss und über den Rükgabewert sagt der Standard IMHO gar nichts.
-
Alles klar.
Also empfiehlt es sich doch (gerade als Anfänger) mit dem Dev-cpp zu arbeiten, damit man die Fehlermeldungen erhält, um sofort ordentliches programmieren zu lernen. Wenn ich den Borland nehme kann ich ja sonst "jeden Blödsinn" zusammenschreiben und kriege Probleme mit "guten" Compilern, weil Sie meine Programme nicht schlucken.
Sehe ich das richtig?