Mehrdimensionaler Vektor in einer Klasse



  • hey, ich habe folgendes Problem, normalerweise definiere ich ja einen Mehrdimensionalen Vektor wie folgt:

    int test[3][2] = { {1,2}, {2,3}, {3,4} };
    

    So wollte ich das jetzt in einer Klasse machen:

    header.h

    class tests
    {
    public:
    void insert();
    private:
    int test[3][2]
    };
    

    header.cpp

    void tests::insert()
    {
    test[3][2] = { {1,2}, {2,3}, {3,4} };
    

    natürlich ist das nicht der code den ich verwende, das fasst nur alles wesentliche zusammen. Die Fehlermeldung die ich beim ausführen erhalte:
    9IntelliSense: Es wurde ein Ausdruck erwartet.
    der Fehler wird bei der ersten Klammer nach dem = angezeigt.

    Frage: Wie behebe ich diesen Fehler?



  • Das ist ein Array und kein vector.

    #include <array>
    class tests 
    { 
    public: 
    void insert(); 
    private: 
    std::array<std::array<int,2>,3> test = {{ {1,2}, {2,3}, {3,4} }};
    };
    


  • Zum einen sehe ich keinen Vektor. Zum anderen: InteliSense ist die Autovervollständigung von visual Studio und hat wenig mit C++ zu tun.

    Um noch hilfreich zu sein, versuche mal

    test= { {1,2}, {2,3}, {3,4} };
    

    P.s. Ich weiß grade nicht ob man ein array so initialisieren kann...



  • @manni66

    ah ok dann array, danke aber man kann in einer klasse leider keine Wertezuweisung machen.

    @Schlangenmensch

    hab ich auch schon probiert, funktioniert auch nicht 😕



  • gondolator schrieb:

    @manni66

    ah ok dann array, danke aber man kann in einer klasse leider keine Wertezuweisung machen.

    Nur wenn du einen total veralteten Compiler benutz.


Anmelden zum Antworten