Russian Qt Forum

Qt => Общие вопросы => Тема начата: GPPsoft от Декабрь 22, 2013, 08:10



Название: Вопрос по ссылкам
Отправлено: GPPsoft от Декабрь 22, 2013, 08:10
Здравствуйте. Объясните пожалуйста почему так функция не принимает аргумент?


Код:
static QByteArray imageToArray(QImage &image);
..........................................

sendData(ScreenFull(ScreenAnalyzer::imageToArray(ScreenAnalyzer::getScreenshot())).toJson());

А вот так принимает:
Код:
QImage fullScreenshot=ScreenAnalyzer::getScreenshot();
sendData(ScreenFull(ScreenAnalyzer::imageToArray(fullScreenshot)).toJson());

Спасибо!


Название: Re: Вопрос по ссылкам
Отправлено: Igors от Декабрь 22, 2013, 11:11
Нужна константная ссылка, так будет компилить
Код
C++ (Qt)
static QByteArray imageToArray(const QImage &image);
..........................................
 
sendData(ScreenFull(ScreenAnalyzer::imageToArray(ScreenAnalyzer::getScreenshot())).toJson());
 
Возвращаемый QImage - временная переменная, поэтому неконстантные ссылки на нее не разрешены