I have the following code:
std::ifstream ifs(fileName, std::ios_base::in | std::ios_base::binary);
std::vector<char> vecdata(std::istreambuf_iterator<char>(ifs),
std::istreambuf_iterator<char>());
image->setData(std::move(vecdata));
setData is declared as follows:
void Image::setData(std::vector<char> && data);
I have the following error:
reader.cpp:752: error: no matching function for call to
'Image::setData(std::vector (&)(std::istreambuf_iterator >, std::istreambuf_iterator > (*)()))'
image->setData(std::move(vecdata)); ^
candidate is:
image.h:12: void Image::setData(std::vector&&)
I am using gcc 4.91
MCVE with gcc 5.4, same behavior : http://rextester.com/QYA50737
Is this a gcc bug?
Thanks