Deine Funktion stürzt nicht an der von dir angebenen Stelle ab.
Wenn ich das Programm bei mir ausführe, erhalte ich eine "Heap Corrupted" Fehlermeldung. Und das liegt an der Größe von tab. Bis zu einer Array-Größe von 500 gibt es keinerlei Probleme. Dann allerdings stürtzt das Programm eben ab, wenn man den tab löschen will.
Allerdings wundert es mich, dass es vorher so gut mitmacht. Ein Array wird erstellt und dann mit einer Funktion gefüllt, wo ich die Größe noch dazu angeben muss...das kann ja nur schief gehen und was dann in dieser Funktion passiert, ist mir auch mehr als unsicher, wie dem Array dort Werte zugewiesen werden.
|
C-/C++-Quelltext
|
1
2
|
sf::Color tab[HEIGHT];
gradient.fillTab(tab,HEIGHT-1);
|
Funktioniert dann im Übrigen mit dem gewünschten Ergebnis, aber wie gesagt: sonderlich viel halte ich von dieser Farbverlauf-Klasse nicht. Statt eines Arrays lieber einen std::vector verwenden, dann wäre das ganze deutlich sicherer.
Ach und nebenbei. Eine sinnvolle Minimalanwendung ist das, was du da hast nichts. Es fehlt zumindest noch ein
|
C-/C++-Quelltext
|
1
|
App->Display()
|
, damit überhaupt irgendetwas angezeigt wird und ein
|
C-/C++-Quelltext
|
1
|
App->Clear()
|
schadet in der Regel auch nicht.