Dzień Dobry !
Mam taki problemik z Qt i klasą Chart ( do rysowania wykresów ). Pokaże na kawałku kodu o co chodzi ( wysypuje to program, jak najbardziej okrojone aby było jak bardziej czytelne : )) :
deklaracje:
QLineSeries* X[100];
QLineSeries* Y[100];
QLineSeries *series1;
w konstruktorze:
for(int i = 0; i < 100 ; i++){
X[i] = nullptr;
Y[i] = nullptr;
}
series1 = new QLineSeries();
funkcja którą jak się wywoła dwa razy to program się sypie:
void MainWindow::oblicz(){
chart2->removeAllSeries();
int i=0;
*series1 << QPointF(0,0) ;
for(i = 0 ; i <= 2 ; i++){
if(X[i]){
delete (X[i]);
X[i] = nullptr;
}
if(Y[i]){
delete (Y[i]);
Y[i] = nullptr;
}
X[i] = new QLineSeries();
Y[i] = new QLineSeries();
*(X[i]) << QPointF(2,2) << QPointF(3,3) ;
*(Y[i]) << QPointF(4,4) << QPointF(5,5);
chart2->addSeries(X[i]);
chart2->addSeries(Y[i]);
}
}
Problem jest w tym miejscu:
if(X[i]){
delete (X[i]);
X[i] = nullptr;
}
if(Y[i]){
delete (Y[i]);
Y[i] = nullptr;
}
jednak nie za bardzo rozumiem dlaczego, jak na moje wszystko powinno ładnie zadziałać, ktoś ma jakiś pomysł ?
Z góry dziękuję za pomoc i Wesołych Świąt !