Fehler bei vector-Iterator



  • Hallo,

    ich habe ein problem mit einem iterator eines Vectors.
    Ich habe folgenden Source:

    // Header - Datei
    // defines und includes
    
    class MyClass
    {
       public:
         void MyMethod(const MyClass&);
       protected:
          std::vector<int> theVector;
    };
    
    // Source-Datei
    // Includes
    
    using namespace std;
    
    typedef vector<int>::iterator iter;
    
    void MyClass::MyMethod(const MyClass& mc)
    {
       iter i = mc.theVector.begin(); //Hier kommt der Fehler
    }
    

    Mein Dev-CPP schmeißt mir einen Compiler-Error der ungefähr so lautet:
    cannot convert "const int* const" to "int*"

    Ich habe bereits folgendes versucht:

    iter i = (const int* const)mc.theVector.begin();
    

    aber auch ohne Erfolg.

    Kann mir jemand helfen das Problem zu lösen?

    Danke schon im voraus.



  • du brauchst vector<int>::const_interator
    du übergibst mc ja als referenz auf ein konstantes objekt (damit ist theVector auch const)

    typedef vector<int>::const_iterator const_iter;
    
    void MyClass::MyMethod(const MyClass& mc)
    {
       const_iter i = mc.theVector.begin(); 
    }
    


  • davie schrieb:

    du brauchst vector<int>::const_interator
    du übergibst mc ja als referenz auf ein konstantes objekt (damit ist theVector auch const)

    typedef vector<int>::const_iterator const_iter;
    
    void MyClass::MyMethod(const MyClass& mc)
    {
       const_iter i = mc.theVector.begin(); 
    }
    

    Vielen Vielen Danke für deine Superschnelle Hilfe...


Anmelden zum Antworten