C++ Fehler kann nicht behoben werden?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Fehlermeldung ist doch in dieser Hinsicht klar und verständlich:

Eine Funktion namens getline ist nirgends definiert.

Woher soll der Compiler wissen, welchen Code er dafür übersetzen soll?

Entweder du verwendest mit <include ...> eine Standardbibliothek, in der sie vordefiniert ist, oder du definierst selber eine.

mach mal ein

#include <string>

am Anfang deines Programms. Dann sollte es funktionieren

verreisterNutzer  26.01.2020, 19:37

Haha OMG danke <3 😂Liegt das wirklich daran, weil ich in Zeile 36 "string getFile" schreiben musste?

0
skiddy  26.01.2020, 19:38
@verreisterNutzer

Nein. Wie ich eben gelesen habe ist die Funktion "getline" nur in Kombination mit #include <string> möglich.

1

Bin zwar kein Experte und es wird jetzt ziemlich peinlich wenn ich mir die falsche Definition von getline angeschaut habe aber

getline (char* s, streamsize n );
  1.   string line;
  2.     fstream file;
  3.  
  4.     file.open(p_fileName, ios::in);
  5.     if (file.is_open())
  6.     {
  7.       getline(file, line);
  8.     }

fstream file; entspricht glaub keinem charpointer, ein String jedoch schon. Ob fstream sich mit streamsize verträgt weiß ich nicht, aber tausch mal

getline(line, file);