PDA

View Full Version : Example from "Qwt User's Guide" doesn't work



8Observer8
3rd March 2013, 13:26
Hi

Example from "Qwt User's Guide" doesn't work: http://qwt.sourceforge.net/class_qwt_synthetic_point_data.html

Output


C:\Users\Ivan\qt_projects\qwt\Sin\main.cpp:29: error: no matching function for call to 'QwtPlotCurve::setData(SinusData)'



c:\Qwt-6.0.2\include\qwt_plot_seriesitem.h:168: candidates are: void QwtPlotSeriesItem<T>::setData(QwtSeriesData<T>*) [with T = QPointF]




#include <cmath>
#include <qwt_series_data.h>
#include <qwt_plot_curve.h>
#include <qwt_plot.h>
#include <qapplication.h>

class SinusData: public QwtSyntheticPointData
{
public:
SinusData():
QwtSyntheticPointData(100)
{
}
virtual double y(double x) const
{
return qSin(x);
}
};

int main(int argc, char **argv)
{
QApplication a(argc, argv);

QwtPlot plot;
plot.setAxisScale(QwtPlot::xBottom, 0.0, 10.0);
plot.setAxisScale(QwtPlot::yLeft, -1.0, 1.0);

QwtPlotCurve *curve = new QwtPlotCurve("y = sin(x)");
curve->setData(SinusData());
curve->attach(&plot);

plot.show();
return a.exec();
}


Thanks

8Observer8
3rd March 2013, 15:32
It's very important for me. Please, help me!

Why this line doesn't work:


curve->setData(SinusData());

Uwe
3rd March 2013, 16:52
A "new" is missing in the docs - that's all. But this something the compiler told you already.

Uwe

8Observer8
3rd March 2013, 17:33
Thanks! I'm happy :)



curve->setData(new SinusData());