Robert Bienert: C++ String type funktioniert nicht?

Beitrag lesen

Moin!

Ich weiß nicht warum, aber der gcc 3.3.5 Compilier lässt mich folgendes Programm nicht kompilieren:

Nur der GCC nicht? Würde mich wundern, wenn andere Compiler toleranter wären.

#include <string>

int main(void)    {
string teststring;

Wie wärs denn hier mit std::string teststring;

return 0;
}

g++ -o stringtest stringtest.cpp ist der Befehl,den ich zum Kompilieren verwende.
Allerdings bekomme ich folgende Fehlermeldung:
stringtest.cpp:4: error: `string' undeclared (first use this function)

Dann würde das hier nicht passieren.

Was soll das? string ist doch ein Datentyp in C++, also warum kann ich das Programm so nicht kompilieren?

Wie du richtig erkannt hast, ist dieser Datentyp im Namespace std deklariert. Ohne jetzt klugzuscheißen, mit std::string bzw. using std::string anstelle von using namespace std; müllst du dir deinen globalen Namespace nicht so zu. Bei großen Programmen kann das problematisch werden.

Grüße, Robert