`string' undeclared

hallo!
mein wahrscheinlich ganz einfaches problem ist folgendes:

dieses kleine testprogramm:

#include
#include
#include
using namespace std;

int main()
{
string str(„frank“);
}

liefert bei mir den fehler:
einfach.cc: In function int main()': einfach.cc:10: string’ undeclared (first use this function)
einfach.cc:10: (Each undeclared identifier is reported only once
einfach.cc:10: for each function it appears in.)
einfach.cc:10: parse error before `(’
ich bin absoluter c+±anfänger, wer kann mir helfen?
danke im voraus,
tag3

entferne .h bei , vielleicht hilft es, weil gehoert zum standart C library und mit STL C++ string Klasse hat nichts zu tun.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

#include
#include
#include //getch(); non standard, i am sorry
using namespace std;

int main(argc, *argv[])
{
string myString = „Jemand“;

cout [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Okay. Dann wollen wir doch mal schaun:

==(ALT)==

#include
#include
#include
using namespace std;

int main()
{
string str(„frank“);
}

==(NEU)==
#include
#include
using namespace std;

int main()
{
string str = „frank“; // Alternative zu der obigen Lösung
return 0; // historisch gewachsen,
// bedeutet erfolgreich beendetes Programm
}

Anmerkungen:
-> #include : Du kannst sie so natürlich in deinem Programm benutzen, ist aber nicht standard. Alternative könntest du #include benutzen, was ich aber nicht als sinnvoll erachte, da ne Erweiterung von ist und die alten Funktionalitäten lediglich übernommen worden sind (Ansonsten wären die Entwickler auch schön blöd. Warum das Rad auch zweimal erfinden!)
-> Wenn du Probleme bei Programmcodings hast, dann erwähne in Zukunft bitte, in welcher Umgebung du entwickelst (Betriebssystem, GUI beispielsweise MS VC++, etc.) Warum? Weil, Implementationen der Bibliotheken von Hersteller zu Hersteller unterschiedlich sind (siehe Borland und Microsoft).
-> ist C und wird für Dinge verwendet, wie getch() und kann dafür benutzt werden, um ein Zeichen einzulesen. Entspricht ca. dem Befehl scanf(). Der Vergleich hinkt hier allerdings :smile:
-> Deine main() hast du mit dem Rückgabetypen „int“ definiert. Mit anderen Worten bedeutet das, du musst in deinem Anweisungsblock einen Rückgabewert durch return codieren.

Ich hoffe ich erschlage dich hiermit nicht :smile:
Viel Spaß und bleib am Ball. C/C++ ist nicht umsonst eine der Mächtigsten Sprachen auf diesem Planeten

vergiss und getchar();

nimm stattdessen einfach cin.get(); das ist sauberes cpp…