Announcement

Collapse
No announcement yet.

Vectorinhalt auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vectorinhalt auslesen

    hallo,

    ich habe eine methode geschrieben, die daten aus einer txt datei ausliesst und in einem vector speichert. nun möchte ich mir den gesamten inhalt des vectors ausgeben lassen, aber bekomme folgende fehlermeldung:

    error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'const Vliegreizen' (or there is no acceptable conversion)



    Code:
    void Vliegreizen::loadData(){  
     
        ifstream file( "inFile.txt" );
        if( !file.is_open() )
        {
            cerr << "Cannot open file" << endl;
        }
     
        vector<Vliegreizen> v( (istream_iterator< Vliegreizen >( file )), istream_iterator< Vliegreizen >() ); // daten in vector einlesen
        if( !file.eof() )
        {
            cerr << "Error reading" << endl; 
        }
     
        // anzahl einträge ausgeben
        cout << v.size() << " readed entries" << endl;
     
        // vector inhalt ausgeben lassen
        std::copy ( v.begin() , v.end(), std::ostream_iterator<Vliegreizen> (std::cout,"\n"));
    }
    bereits im voraus vielen dank für die mühe!

    zur info:

    im vector sind zahlen und wörter enthalten!

    Defintion:

    vector<Vliegreizen> v;
    Zuletzt editiert von Christian Marquardt; 24.10.2010, 20:02.

  • #2
    for (int i=0; i<v.size(); i++) {
    cout << v[i] << endl;
    }

    oder

    for (vector<int>::iterator it = v.begin(); it!=v.end(); ++it) {
    cout << *it << endl;
    }

    mit einem Iterator
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      for (int i=0; i<v.size(); i++) {
      cout << v[i] << endl;
      }

      oder

      for (vector<int>::iterator it = v.begin(); it!=v.end(); ++it) {
      cout << *it << endl;
      }

      mit einem Iterator
      bekomme da folgende fehlermeldunge:

      warning C4018: '<' : signed/unsigned mismatch
      error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'Vliegreizen' (or there is no acceptable conversion)

      Comment


      • #4
        Seltsam, wie kannst du bei zwei Beispielen den gleichen Fehler bekommen?

        vector<int>

        hast du auf deinen Typ angepasst?
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          Seltsam, wie kannst du bei zwei Beispielen den gleichen Fehler bekommen?

          vector<int>

          hast du auf deinen Typ angepasst?
          habs nur mit der ersten for schleife getestet!

          denke aber den fehler schon gefunden zu haben, da der vector zahlen und wörter enthält! kann doch also jetzt einfach eine toString methode schreiben und dann ist vector <string>, oder nicht?

          Comment

          Working...
          X