Vector mit Struct nutzen
-
Hallo,
also folgendes problem, ich woltle ma fragen warum der code hier nicht funktioniert, also was daran falsch ist und ob man sowas wie ich es machen will überhaupt geht.
#include<iostream> #include<string> #include<cstddef> using namespace std; struct test { char* Question; char* Answer; }; int main() { test meintest; vector<string> meintest; meintest[0].Question="irgendwas"; cout<<meintest[0].Question<<endl; system("Pause"); }
-
test meintest; vector<string> meintest;Du hast zwei Variablen mit dem selben Namen definiert, das ist nicht erlaubt. Ich vermute mal eher, du benötigst so etwas:
vector<test> meintest(1);//die Anfangsgröße angeben meintest[0].Question="irgendwas"; cout<<meintest[0].Question<<endl;(btw, ein default-konstruierter vector<> hat eine Größe von 0 - da greifst du auch noch auf Werte zu, die dir nicht gehören)
PS: Nur ein Randvorschlag - nimm lieber std::string anstelle von char*.
-
Du hast z.B. zwei Objekte gleichen Namens unterschiedlichen Typs.
-
also ich habe es jetzt ma so probiert wie du es gesagt hast aber da geht es au net
#include<iostream> #include<string> #include<vector> using namespace std; struct test { string Question; string Answer; }; int main() { test meintest; vector<test>meintest(1); meintest[0].Question="irgendetwas"; cout<<meintest[0].Question<<endl; system("Pause"); }
-
streiche die Zeile "test meintest;"
Diese Instanz von test brauchst du nicht und sie führt zu einem Nameskonflikt mit dem Vector