Array Problem
-
Kannste ma den ganzen Code posten?
-
Ich denke ich weiß was du mit deinem Kommentar meinst.
Der Compiler meckert erstmal nicht, erst wenn ich debugge. Dann kommt ein neues Fenster in dem steht dann "Debug Assertion Failed!
Program:....
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
..."
-
Nein ich meine die ganze for-Schleife
-
@Killur: du warst schneller als ich beim tippen, deswegen hab ich SeppJ gemeint
int s_s[40]; int B; for(vector<f>::iterator u = v.begin(); u != v.end(); u++) { B = sqrt(atan(pow((*u).getD,2)-(*u).getT)); s_s[B] = s_s[B]+1; }
-
mir fällt grad auf bei
(*u).getT
fehlen die Klammern danach.
-
nutzt doch bitte ->
-
s_s[B] = s_s[B]+1;
muss zu
s_s[B] = s_s[B+1];
-
Da veränder ich aber den Wert von B. Ich will nur das der Standartwert 0 an der Stelle B jedesmal eins dazuzählt.
-
int B;
Deklarier Variablen so spät wie möglich, hier wäre das innerhalb der Schleife. Zumindest wenn du nicht nach der Schleife nochmals darauf zugreifst.
for(vector<f>::iterator u = v.begin(); u != v.end(); u++)
u++
erzeugt eine unnötige Kopie (zumindest bei komplexeren Typen). Nimm++u
.s_s[B] = s_s[B]+1;
Ich würde hier
operator++
nehmen.
-
Uteratoren ftw
-
Nein dadurch veränderst du nicht den wert von B. Den veränderst du mit
B = B+1;