Einfache Ein-Ausgabe: Programm schließt zu früh [GELÖST]
-
Hallo,
ich bin gerade dabei C++ zu lernen und versuche mich an ein paar Übungen, die ich im Netz gefunden habe. http://www.pellatz.de/downloads/c_aufgaben.pdf
Ich bin gerade bei Aufgabe 2. Mein Code sieht wie folgt aus:
#include <iostream> using std::cout; using std::cin; using std::endl; int main() { char Name; char Konfession; short Alter; float Gehalt; cout << "Bitte geben Sie Ihren Namen ein!\n"; cin >> Name; cout << "Bitte nennen Sie Ihre Konfession!\n"; cin >> Konfession; cout << "Wie alt sind Sie?\n"; cin >> Alter; cout << "Wie hoch ist ihr Gehalt (monatlich)?\n"; cin >> Gehalt; cout << "Name: " << Name << endl; cout << "Konfession: " << Konfession << endl; cout << "Alter: " << Alter << endl; cout << "Gehalt: " << Gehalt << endl; std::cin.get(); }Nach der Eingabe des Namens schließt das Programm leider sofort.
Grüße
Jan
-
zweimal std::cin.get(); machen. Denn nach der zuletzt eingegebenen Zahl ist noch das '\n' im cin. Das erst weglesen.
Aber besser, stattdessen gar nicht machen. Deine IDE hat gefälligst was zu bieten, daß man diesen Quark nicht braucht. Beim Microsoft-Compiler zum Beispiel startet man das Konsolen-Programm mit Strg+F5 statt mit F5 und es bleibt offen.
Name und Konfession fassen bei Dir nur einen Buchstaben. Kann ich bei Konfessionen fast einsehen, soll man den wichtigsten 61 davon einen Buchstaben oder eine Ziffer verpassen. Bei Namen wird es aber unpraktisch.
Falls Du Prorammieren lernen willst, und nicht nur diesen Informatikkurs überleben, dann besorge Dir ein gutes Buch und lerne daraus.
-
Du scheinst meine Problembeschreibung nicht richtig verstanden oder zumindest nicht richtig gelesen zu haben! Dein Lösungen funktionieren auch nicht. Naja is ja noch früh nä...
Trotzdem danke für den Tipp, dass Name und Konfession nur einen Buchstaben fassen!
Ich drücke übrigens IMMER Strg+F5. Das macht überhaupt keinen Unterschied. Deswegen muss ich am Ende jedes Programmes cin.get() einfügen.
-
Probier
cin.clear()und/odercin.ignore()nach jedemcin >>einzufügen.
Damit hat es bei mir mal funktioniert.
Irgendwie dürfte das den Buffer löschen oder so.
-
gunjah schrieb:
Nach der Eingabe des Namens schließt das Programm leider sofort.
Starte Dein Programm aus einer Konsole.
-
gunjah schrieb:
Du scheinst meine Problembeschreibung nicht richtig verstanden oder zumindest nicht richtig gelesen zu haben! Dein Lösungen funktionieren auch nicht. Naja is ja noch früh nä...
Trotzdem danke für den Tipp, dass Name und Konfession nur einen Buchstaben fassen!
Ich drücke übrigens IMMER Strg+F5. Das macht überhaupt keinen Unterschied. Deswegen muss ich am Ende jedes Programmes cin.get() einfügen.Hilf Dir doch selber.
-
offensictlich ist dein Problm, dass du einen Namen eingibst aber nur ein zeichen ließt. Ich werde dir nicht erzählen warum, weil deine Antwort auf Volkards Hilfe so kacke war.
-
Ich habe die Antwort so geschrieben, weil er anstatt mir zu helfen lieber meine Art zu lernen kritisierte. Wenn ich über meine Lernmethodik reden wollte, würde ich dafür einen extra Thread machen. Wenn er wirklich sone Möse ist, dass er jetzt beleidigt ist, habe ich alles richtig gemacht!
Ich hab diese Haltung von Klugscheißern in Foren einfach satt, die sich selbst als allwissend darstellen und denn nicht mal funktionierende Lösungen anzubieten haben.
-
gunjah schrieb:
Ich habe die Antwort so geschrieben, weil er anstatt mir zu helfen lieber meine Art zu lernen kritisierte. Wenn ich über meine Lernmethodik reden wollte, würde ich dafür einen extra Thread machen. Wenn er wirklich sone Möse ist, dass er jetzt beleidigt ist, habe ich alles richtig gemacht!
Ich hab diese Haltung von Klugscheißern in Foren einfach satt, die sich selbst als allwissend darstellen und denn nicht mal funktionierende Lösungen anzubieten haben.Für zukünftige Fragen: Hilf Dir doch selber.
-
otze schrieb:
offensictlich ist dein Problm, dass du einen Namen eingibst aber nur ein zeichen ließt. Ich werde dir nicht erzählen warum, weil deine Antwort auf Volkards Hilfe so kacke war.
Dann mache ich es mal, weil ich so verzweifet bin:
std::cinhält intern einen Buffer, der jedes eingegebene Zeichen enthält. Dieser Buffer ist vorerst leer. Sobald du aber eine Funktion aufrufst, die Zeichen braucht, der Buffer aber leer ist, wird also auf Eingabe gewartet. Jedes eingegebene Zeichen wird dann in den Buffer kopiert. Sobald der Stream ein Zeichen extrahiert, wird die Buffer-Position erhöht. Kommt man wieder am Ende an wird er geleert und es wird wiederum auf Eingabe gewartet.std::cin.get()bringt also nur etwas, wenn man am Ende des Buffers ist und dieser keine Zeichen enthält. Du gibst aber einen String ein, und es wird nur ein Zeichen extrahiert - der Rest deines Namens hängt also noch im Buffer. Daher wird das Einlesen der Konfession auch "übersprungen" - es wird nämlich einfach das nächste Zeichen im Buffer gelesen und dann weitergemacht, ohne auf Eingabe zu warten.Jedoch liegt das Problem bei dir an anderer Stelle. Du solltest einen String einlesen:
int main() { std::string Name, Konfession; short Alter; float Gehalt; cout << "Bitte geben Sie Ihren Namen ein!\n"; std::getline( cin, Name ); // Liest eine Zeile ein cout << "Bitte nennen Sie Ihre Konfession!\n"; cin >> Konfession; cout << "Wie alt sind Sie?\n"; cin >> Alter; cout << "Wie hoch ist ihr Gehalt (monatlich)?\n"; cin >> Gehalt; cout << "Name: " << Name << endl; cout << "Konfession: " << Konfession << endl; cout << "Alter: " << Alter << endl; cout << "Gehalt: " << Gehalt << endl; std::cin.get(); // Sollte nun blockieren }(Ungetestet)
Bitte auch Automatisches Schließen verhindern beachten.
-
Welche IDE hast du denn? Man findet bestimmt was wenn man nach dem Namen + keep console open oder so sucht. Ansonsten ist bei diesem Thread sicher was dabei.
-
Ich habe mich mit Strings noch nicht auseinandergesetzt, weil ich noch nicht so weit bin. Ich habe jetzt den Teil über cin noch mal gründlich gelesen und die Zeichenanzahl bei der Definition auf 20 gesetzt. Für den Namen habe ich dann cin.getline() verwendet, da ein Leerzeichen dabei wäre, falls man Vor- und Nachnamen eingibt. Es läuft jetzt alles und die Anforderungen der Übung sind erfüllt.
Es muss übrigens zwei mal std::cin.get() am Ende eingefügt werden. Grüße gehen somit raus an volkard!

@*: Bei deiner Version mit den Strings kommt eine lange Errorliste heraus.
-
Ich benutze gerade MS Visual C++, ich werde jedoch früher oder später auf eine Linuxumgebung umsteigen, weil Linux einfach geiler is und ich diese Eyecandyscheiße bei Windows echt nicht brauche!

-
Bei deiner Version mit den Strings kommt eine lange Errorliste heraus.
Wäre nicht verkehrt, die zu posten, oder?
-
wie gesagt, die ist ziemlich lang. wie hieß noch die seite auf der man codes hochladen kann?
1>------ Build started: Project: Project5, Configuration: Debug Win32 ------ 1> Source.cpp 1>c:\users\jan\documents\visual studio 2012\projects\project5\project5\source.cpp(16): error C2664: 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::getline(_Elem *,std::streamsize)' : cannot convert parameter 1 from 'std::string' to 'char *' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 1>c:\users\jan\documents\visual studio 2012\projects\project5\project5\source.cpp(18): error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1053): could be 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1060): or 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1067): or 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1074): or 'std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(1084): or 'std::basic_istream<_Elem,_Traits> &std::operator >><char,std::char_traits<char>,std::string>(std::basic_istream<_Elem,_Traits> &&,_Ty &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char>, 1> _Ty=std::string 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(193): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(199): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(206): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(213): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(232): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(267): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(286): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(312): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(330): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(348): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned long &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(368): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(387): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(406): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(425): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(443): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(461): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\istream(480): or 'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> while trying to match the argument list '(std::istream, std::string)' 1>c:\users\jan\documents\visual studio 2012\projects\project5\project5\source.cpp(24): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(695): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(742): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(780): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(827): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(953): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(960): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(967): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(974): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(984): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,std::string>(std::basic_ostream<_Elem,_Traits> &&,const _Ty &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char>, 1> _Ty=std::string 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(1101): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(201): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(207): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(214): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(221): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(241): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(275): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(295): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(320): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(340): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(360): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(381): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(401): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(422): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(442): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(462): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(482): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(502): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> while trying to match the argument list '(std::basic_ostream<_Elem,_Traits>, std::string)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1>c:\users\jan\documents\visual studio 2012\projects\project5\project5\source.cpp(25): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(695): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(742): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(780): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(827): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(953): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(960): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(967): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(974): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(984): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,std::string>(std::basic_ostream<_Elem,_Traits> &&,const _Ty &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char>, 1> _Ty=std::string 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(1101): or 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)' [found using argument-dependent lookup] 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(201): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(207): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(214): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(221): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(241): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(275): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(295): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(320): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(340): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(360): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(381): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(401): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(422): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(442): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(462): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(482): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\ostream(502): or 'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> while trying to match the argument list '(std::basic_ostream<_Elem,_Traits>, std::string)' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
-
Die Seite heißt codepad.org (oder auch ideone.com).
Und jetzt ändere bitte deinen Code zu meinem, sonst wird das nicht kompilieren.
Edit:
(Du nutztistream::getlineanstelle vonstd::getline. Wie gesagt: Du hättest direkt meinen Code nehmen sollen)
-
gunjah schrieb:
Ich hab diese Haltung von Klugscheißern in Foren einfach satt, die sich selbst als allwissend darstellen und denn nicht mal funktionierende Lösungen anzubieten haben.
Ach so läuft der Hase -> Hilf dir doch selber.
-
Ich nutze kein istream::getline. Aber es funktioniert ja schon, also egal! Danke für die Hilfe!
-
gunjah schrieb:
Ich nutze kein istream::getline.
Ist das so?
Fehlermeldung schrieb:
'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::getline(_Elem *,std::streamsize)'
Das ist die Funktion die du aufrufen wolltest. Kurz:
istream::getline.
-
- schrieb:
gunjah schrieb:
Ich nutze kein istream::getline.
Ist das so?
Fehlermeldung schrieb:
'std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::getline(_Elem *,std::streamsize)'
Das ist die Funktion die du aufrufen wolltest. Kurz:
istream::getline.Verumtlich nutzt du sie als std::cin.getline().
Hach, welchen aha-Effekt ich hatte, als ich gemerkt habe dass cin und cout Objekte sind.
Dieses Erlebnis hätte ich gerne noch einmal.