对类型的非常量左值引用...无法绑定到类型的临时对象

时间:2018-08-31 12:52:20

标签: c++

我有这个问题

  

83:24:错误:类型为“ QImage”的非常量左值引用无法绑定到类型为“ QImage”的临时对象   cameraimplementation.h:23:34:注意:此处将参数传递给参数'nextImage'

此代码所致

updateImageData(toQImage());

void updateImageData(QImage& nextImage);
QImage toQImage();

除了包含临时变量外,我该如何解决这个问题。

QImage image = toQImage();
updateImageData(image);

1 个答案:

答案 0 :(得分:1)

你不能。

C ++标准不允许匿名临时绑定到引用,尽管某些编译器允许将其作为扩展。 (允许绑定到const参考 。)

除了您已有的解决方法之外,如果您可以将函数更改为采用const QImage&,那会更好。