STring einlesen
-
blurry333, wie wärs zur Abwechslung mal mit einer brauchbaren Fehlerbeschreibung?

Du hast schon ein paar Mal solche Posts eröffnet, darauf solltest du wirklich ein wenig achten.
-
Fehler 1 error C2679: Binärer Operator '>>': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
-
Und jetzt noch die bereits gegebene Antworten lesen.
-
include <string>ist nicht notwendig, wenn du das meinst !
-
Wenn du
std::stringbenutzt, dann musst du den Header einbinden. Wenn es ohne geht, dann ist das Zufall.
-
blurry333 schrieb:
include <string>ist nicht notwendig, wenn du das meinst !
Doch, es ist notwendig. Sieht nämlich so aus, als ob du zufällig die Definition von std::string über einen anderen Header inkludiert hättest, aber den operator>>(istream, string) nicht.
-
blurry333 schrieb:
include <string>ist nicht notwendig, wenn du das meinst !
also compiliert der code aus deinem anfangspost jetzt durch geisterhand plötzlich doch?!
wenn nicht ist es offensichtlich doch notwendig...
und selbst wenn es compilieren sollte, wäre es kein grund, das include wegzulassen.bb
-
also mit
#include <string>funktioniert
trotzdem würd mich mal intressieren was der string header
mit der cout,cin zu tun hat. Wahrscheinlich wird dort der operator>>
bzw operator<< überladen
-
Du benutzt einen
std::string, falls dir das nicht aufgefallen ist. Alleine dafür brauchst du schon den Header.
Und für das einelsen implementiert jastd::stringden Operator, denn nur der weiss, wie er richtig einlesen muss.
-
blurry333 schrieb:
trotzdem würd mich mal intressieren was der string header
mit der cout,cin zu tun hat. Wahrscheinlich wird dort der operator>>
bzw operator<< überladenrichtig, spielt aber keine rolle, was genau dort implementiert wird, weil du string includen solltest sobald du std::string nutzt.
bb