Unbekannter Bezeichner getline



  • Hallo,

    ich verwende Visual C++ 2005 Express Edition und habe ein Problem bei einem einfachem getline. Bei dem Projekt handelt es sich um ein CLR-Konsolenpr. Der Fehler lautet:

    cpp(51) : error C3861: "getline": Bezeichner wurde nicht gefunden.

    Mein Code (auf relevantes gekürzt):

    #include "stdafx.h"
    #include <cstdlib>
    #include <iostream>
    #include <cstring>
    #include <math.h>
    
    using namespace System;
    using namespace std;
    
    class cWerte {
    
          private:
    
                  double werte[100];
                  string  eingabe;
    			  size_t found;
                  bool   readingValues;
                  int    lastIndex;
          public:
                 void readValues() {
    
                      /** Alle Werte auf 0 setzen **/
    
                      int i = 0;
                      while( i != 101 ) {
    
                             werte[i] = 0;
                             i++;
    
                      }
    
                      /** Werte einlesen **/                  
    
                      cout << "  \n  Bitte geben Sie nun nach und nach ihre gew\x81nschten Zahlen ein.\n" <<
                              "  Verwenden Sie anstelle eines Kommas, einen Punkt, bzw ein n wenn\n" <<
                              "  Sie die Eingabe beenden möchten\n\n";
    
                      readingValues = true;
    
                      int j = 0;        
                      while( j != 100 && readingValues ) {
    
                             cout << "    - ";
                             if( j < 9) cout << "0";
                             cout << j + 1 << ": ";
    
                             getline(cin,eingabe);
    						 found = eingabe.find("n");
    
                             if( found == string::npos ) {
    							werte[j] = eingabe - 0;
    						 }
                             else {
    							readingValues = false;
    						 }
    
                             lastIndex++;
    
                             j++;
    
                      }
    
                 };
    

    Was C++ angeht gibt es hier wohl sehr viele, sehr viel bessere und erfahrenderere Programmierer. In anderen Worten: Ich bin Anfänger. Ich habe die Funktion verglichen und weiß nicht woran das liegen könnte. Da er sagt der Bezeichner sei falsch, könnte man auf die Variable schließen, oder? ^^ Allerdings kommen bei den anderen Stellen wo diese Variable verwendet wird keine Fehler.

    Gruß Sven



  • Ich seh bei getline( ) keinen Fehler. Warum verwendest du den Namensraum System ? Benötigst du <cstring> wirklich? Include mal <string> !

    greetz, Swordfish



  • Es fehlt #include <string>. Dafür sind cstring und soweit ich sehe auch cstdlib und math.h (die übrigens auch als cmath verfügbar ist) überflüssig.



  • Dankeschön 😃

    Das cstring war genau mein Problem 🙂

    Warum ich den Namensraum System benutze? Der ist schon von vornerein drinn wenn man ein Projekt erstellt ^^'' Ich habe kA was das bewirkt 🙂

    Math benötige ich anderen Methoden



  • Für reines C++ solltest du kein "CLI" oder "CLR"-Projekt verwenden, sondern Win32-Konsolenapplikation.


Anmelden zum Antworten