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