Vector aus Klasse an Memberfunktion übergeben



  • Hallo was mache ich da falsch?

    Die Compiler Fehlermeldung: Elementbezeichner
    Hilft mir nicht weiter.

    #include <iostream>
    #include <vector>
    using namespace std;
    
    class abc
    {
    
            public:
                    vector<int>var;
                    void do_something();
                    void print_something( int cc[]);
    };
    
    void abc :: do_something()
    {
            for(int i=0;i<5;i++)
            {
                    var.push_back(i);
            }
    }
    
    void abc :: print_something( int cc[] )
    {
    // Ja ich weiss hier könnte ich auch var ausgeben, will ich aber nicht
    
            for(int i=0;i<5;i++)
            {
                    cout<<cc[i];
            }
    }
    
    int main(int argc, char* argv[])
    {
    abc a;
    a.do_something();
    
    vector<int>MainVar = a.var;
    a.print_something( &MainVar[0] ); // Funktioniert
    
    a.print_something( a.&var[0] );  // Elementbezeichner erwartet :(
    
    return 0;
    }
    


  • Unabhängig vom Rest:

    a.print_something( &a.var[0] );
    

Anmelden zum Antworten