Markus Pitha: C++ String type funktioniert nicht?

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

#include <string>

int main(void)    {
string teststring;

return 0;
}

g++ -o stringtest stringtest.cpp ist der Befehl,den ich zum Kompilieren verwende.
Allerdings bekomme ich folgende Fehlermeldung:
stringtest.cpp: In function int main()': stringtest.cpp:4: error: string' undeclared (first use this function)
stringtest.cpp:4: error: (Each undeclared identifier is reported only once for
   each function it appears in.)
stringtest.cpp:4: error: parse error before `;' token

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

Markus.

--
sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|
  1. Hat sich erledigt: using namespace std gehört an den Anfang.

    Markus.

    Markus.

    --
    sh:( fo:| ch:? rl:( br:> n4:( ie:{ mo:) va:) de:] zu:) fl:( ss:| ls:] js:|
  2. 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

    1. 你好 Robert,

      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.

      Der VC++ in Version 6 hat das nicht angemaekelt; etwas, das mich sehr
      aufgeregt hat ;-)

      再见,
      克里斯蒂安

      --
      Willst du die Freuden dieser Welt geniessen, so musst du auch ihr Leid erdulden.
      1. 你好 Robert,

        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.

        Der VC++ in Version 6 hat das nicht angemaekelt; etwas, das mich sehr
        aufgeregt hat ;-)

        Wie gut, dass es auf meinem iBook keinen VC++ gibt ;-)

        Was ich dich das letze Mal schon fragen wollte: Was bedeutet das

        再见,
        克里斯蒂安

        eigentlich, ebenso die Anrede. Ist das einfach "Hallo" und "Grüße" einmal ins Asiatische gedreht?

        Viele Grüße, Robert

        1. 你好 Robert,

          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.

          Der VC++ in Version 6 hat das nicht angemaekelt; etwas, das mich sehr
          aufgeregt hat ;-)

          Wie gut, dass es auf meinem iBook keinen VC++ gibt ;-)

          Hehe :) Wie das bei anderen Versionen ist, kann ich allerdings nicht
          sagen.

          Was ich dich das letze Mal schon fragen wollte: Was bedeutet das

          再见,
          克里斯蒂安

          eigentlich, ebenso die Anrede. Ist das einfach "Hallo" und "Grüße" einmal
          ins Asiatische gedreht?

          So aehnlich; das obere ist “Hallo” uebersetzt, das untere ist “Auf
          Wiedersehen, Christian” uebersetzt. Das ganze in chinesisch.

          再见,
          克里斯蒂安

          --
          Mensch zu Mathematiker: "Ich finde Ihre Arbeit ziemlich monoton". Mathematiker: "Mag sein! Dafür ist sie aber stetig und unbeschränkt."