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.
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.