vector<int> generateRandvector(int S) EXC_BAD_ACCSESS !?!?!
-
Geh mit dem Debugger durch.
-
Die Anzahl der Werte überprüfe ich mit
//**************** OPERATOR REDEF'S*******************// ostream& operator << (ostream& stream ,vector<int> lhs) { vector<int>::iterator it= lhs.begin(); vector<int>::iterator it2 = lhs.end(); while(*it!=*it2) { stream << *it << endl; it++; } return stream; } //******************** PRINT ************************// void print(vector<int> v) { cout << v; }
-
Ach du liebes bisschen...
Du darfst die Iteratoren in while(*it!=*it2) nicht dereferenzieren.
Und wenn du deinen vector<int> so übergibst, wird jedesmal eine Kopie erstellt. Deswegen als (konstante) Referenz übergeben: const vector<int>&
-
ja vielen Dank , aber das löst mein Problem leider immer noch nicht :-S !
-
Bacid90210 schrieb:
ja vielen Dank , aber das löst mein Problem leider immer noch nicht :-S !
Kannst du ein Debugger benutzen, dann mach es mit den Hintergrund, was Nexus gesagt hat!
-
Bacid90210 schrieb:
ja vielen Dank , aber das löst mein Problem leider immer noch nicht :-S !
Äh, rufst du print überhaupt auf?
-
ja ich hab hier die generate Randvec und einen Teil aus der Main gepostet ..
Wenn ich das ganze mit dem Debugger durchgehe ...kommen ich auch zu keinem Schluss
Er füllt den Vektor für egal welches S ich einlese nur mit einem Wert und zwar immer dem selben 16807 , und mein S bleibt kontinuierlich auf 0 ...
Da stimmt doch irgendwas nicht :-S !.... ich bin verwirrt
-
Du musst erst srand aufrufen. Näheres dazu hier:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-172876.htmlUnd S kann gar nicht 0 sein, sonst würden dem Vektor keine Elemente hinzugefügt.
-
Und welches S hattest du?
-
Das Argument S ... und doch es kann Null sein weil ich mein Programm umgeschreiben habe undzwar :
while (summe <= S)Wenn ich innerhalb der Funktion ein beliebiges S deklariere funktioniert es ..
Ganz komische Kiste hier
-
Ich hab den fehler

Ich hab einfach immer viel zu große Werte für das S eingeben .
Und nun rand %100 ergänzt , jetzt funktioniert alles fein ...Danke für eure hilfe .
sowas doofes kann nur nem Änfänger passieren *schäm*