void SVGGraphics::setOnSVG(QString filename)
{
QGraphicsScene *s = scene();
rendererOn = new QSvgRenderer(filename, s); //объявлен: QSvgRenderer *rendererOn
}
на второй строчке получаю ошибку:Цитата
error: no matching function for call to `QSvgRenderer::QSvgRenderer(QString&, QGraphicsScene*&)'
.../svg/qsvgrenderer.h:60: note: candidates are: QSvgRenderer::QSvgRenderer(const QSvgRenderer&)
.../src/svg/qsvgrenderer.h:69: note: QSvgRenderer::QSvgRenderer(const QByteArray&, QObject*)
.../src/svg/qsvgrenderer.h:68: note: QSvgRenderer::QSvgRenderer(const QString&, QObject*)
.../src/svg/qsvgrenderer.h:67: note: QSvgRenderer::QSvgRenderer(QObject*)
немогу понять почему компиллер пишет, то что я выделил жирным. Ведь я передаю указатель. А QGraphicsScene является наследником QObject..../svg/qsvgrenderer.h:60: note: candidates are: QSvgRenderer::QSvgRenderer(const QSvgRenderer&)
.../src/svg/qsvgrenderer.h:69: note: QSvgRenderer::QSvgRenderer(const QByteArray&, QObject*)
.../src/svg/qsvgrenderer.h:68: note: QSvgRenderer::QSvgRenderer(const QString&, QObject*)
.../src/svg/qsvgrenderer.h:67: note: QSvgRenderer::QSvgRenderer(QObject*)
Т.е. поидее должен вызываться конструктор:
QSvgRenderer::QSvgRenderer(const QString&, QObject*)
В чём проблема?