error C2664: 'std::vector<_Ty>::vector(const std::vector<_Ty> &)' : cannot convert parameter 1 from 'std



  • hab folgendes problem mit meinem code:

    std::vector<double> CExportedObject::GetFeatures(char* imagePath)
    {
    std::vector<int> daten; //Vektor mit 4 Länge anlegen
    std::vector<int>::iterator dIter(daten.begin()); // Iterator anlegen und initialisieren
    // Iterator zeigt auf ersten Eintrag

    for (int i=0; // Zähler i initialisieren,
    dIter != daten.end(); // for-Schleife solange durchgehen, bis dIter aufs Ende des Datenfeldes zeigt
    ++i, ++dIter) { // Zähler i erhöhen, Iterator auf den nächsten Eintrag zeigen lassen
    *dIter = i; // i dem Datenfeld zuweisen, auf das dIter zeigt
    }

    return daten;
    }

    fehler: error C2664: 'std::vector<_Ty>::vector(const std::vector<_Ty> &)' : cannot convert parameter 1 from 'std::vector<_Ty>' to 'const std::vector<_Ty> &'
    1> with
    1> [
    1> _Ty=double
    1> ]
    1> and
    1> [
    1> _Ty=int
    1> ]
    1> and
    1> [
    1> _Ty=double
    1> ]
    1> Reason: cannot convert from 'std::vector<_Ty>' to 'const std::vector<_Ty>'
    1> with
    1> [
    1> _Ty=int
    1> ]
    1> and
    1> [
    1> _Ty=double
    1> ]
    1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

    wie gehörts nun richtig?



  • std::vector<double> CExportedObject::GetFeatures(char* imagePath) 
    { 
    std::vector<int> daten; //Vektor mit 4 Länge anlegen 
    std::vector<int>::iterator dIter(daten.begin()); // Iterator anlegen und initialisieren 
    // Iterator zeigt auf ersten Eintrag 
    
    for (int i=0; // Zähler i initialisieren, 
    dIter != daten.end(); // for-Schleife solange durchgehen, bis dIter aufs Ende des Datenfeldes zeigt 
    ++i, ++dIter) { // Zähler i erhöhen, Iterator auf den nächsten Eintrag zeigen lassen 
    *dIter = i; // i dem Datenfeld zuweisen, auf das dIter zeigt 
    } 
    
    return daten; 
    }
    

Anmelden zum Antworten