Здравствуйте, гость ( Вход | Регистрация )
kwisp | Дата 26.1.2010, 15:15 |
а const'ом он как отличит? не вдаваясь в подробности, конструктры QString & QByteArray не заданы explicit. можно предположить что первый парметр компилятор желает преобразовать и не знает к чему к const QString& (хотя по-идее это случай неяного преобразования и должен работать) или к const QByteArray&. Если укажешь const по-идее преобразовывать нельзя и он оставит параметр в неизменном виде. соответственно подойдёт конструктор QSvgRenderer(const QString &filename, QObject *parent=0) попробуй, может и получится. П.С. по крайней мере явно узнаешь проблема в первом или во втором параметре. QGraphicsScene унаследован от QObject public`ом c макросом Q_OBJECT не видно на первый взгляд причин для проблем с преобразованием. |
|
Litkevich Yuriy | Дата 26.1.2010, 14:01 |
сейчас уже не поробую переделал иначе. Ошибка эта вылезла после добавления сцены в качестве аргумента, сначала было просто: и всё компилелосьне может без const различить эти два констуктора ? а const'ом он как отличит?QSvgRenderer(const QString &filename, QObject *parent=0); QSvgRenderer(const QByteArray &contents, QObject *parent=0); |
|
kwisp | Дата 26.1.2010, 13:11 |
значит остаётся только это: еще может не может без const различить эти два констуктора ? QSvgRenderer(const QString &filename, QObject *parent=0); QSvgRenderer(const QByteArray &contents, QObject *parent=0); попробуй
так кстати и троли рекомендуют делать, да и имя файла ты в setOnSVG не меняешь так что const QString& в самый раз. |
|
Litkevich Yuriy | Дата 26.1.2010, 6:58 |
#include<QGraphicsScene> даприсутствует? |
|
kwisp | Дата 25.1.2010, 18:22 |
а #include<QGraphicsScene> присутствует? еще может не может без const различить эти два констуктора ? QSvgRenderer(const QString &filename, QObject *parent=0); QSvgRenderer(const QByteArray &contents, QObject *parent=0); |
|
Litkevich Yuriy | Дата 16.1.2010, 17:20 |
Есть такой код: на второй строчке получаю ошибку:Цитата error: no matching function for call to `QSvgRenderer::QSvgRenderer(QString&, QGraphicsScene*&)' немогу понять почему компиллер пишет, то что я выделил жирным. Ведь я передаю указатель. А 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*) В чём проблема? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 4.12.2024, 16:37 |