Namespaces und STL
-
Wo ist der Unterschied zwischen
#include <stdlib.h> und #include <cstdlib>?
Ich dachte es gebe jeweils ZWEI versionen: Eine alte (xyz.h) und eine neue (xyz ohne h), die in den std-Namensraum eingettet ist. Wenn ich aber
#include <cstdlib>
using namespace std;schreibe, dann bekomme ich
error C2871: 'std' : Existiert nicht oder ist kein Namespace
als Fehlermeldung, was ich mir eigentlich nur damit erklären kann, dass cstdlib nicht zur STL gehört.
-
Dein Compiler ist zu veraltet.
-
Original erstellt von heute_heiße_ich_SMax:
als Fehlermeldung, was ich mir eigentlich nur damit erklären kann, dass cstdlib nicht zur STL gehört.cstdlib gehört nicht zur STL, das stimmt. dennoch will der standard, dass es alles in den namespace std tut - was dein veralteter compiler eben nich tut
-
Mein "veralteter" Compiler ist MS VC++ 6.0 SP5 der sollte nicht als veraltet gelten. Die Verwendung von Namespaces an sich stellt ja kein Problem dar, nur halt das oben dargestellte Beispiel.
-
Original erstellt von heute_heiße_ich_SMax:
Mein "veralteter" Compiler ist MS VC++ 6.0 SP5 der sollte nicht als veraltet gelten.Ist er aber.
-
VC++ 6 wurde 1998 released - denke selber mal nach ob das veraltet ist.
Achja, der C++ Standard wurde auch erst 1998 festgelegt.
-
Hallo,
in diesem Fall ist es unfair den Compiler zu beschuldigen. Nicht der Compiler ist hier schuld, sondern die in diesem Fall falsch implementierte Standardbibliothek.Der Compiler macht hier nur seinen Job. Und in diesem Fall sogar mal völlig korrekt.
-
wenn MS V C++ soo alt is, wieso kommt dann nicht endlich mal MS V C++ 7?
-
weil er schon lange da ist