Используйте std :: move в C ++ 11 конструкторе перемещения с равномерным синтаксисом инициализации
У меня есть этот простой класс:
struct Worker
{
Worker() : done{false} {}
Worker(const Worker& rhs) : done{rhs.done}, qworker{} {}
Worker(Worker &&rhs) : done{rhs.done}
{
qworker = std::move(rhs.qworker);
}
...
}
эта компиляция в порядке с gcc-4.7.2, но если я пытаюсь использовать эту версию, я получаю ошибку
struct Worker
{
Worker() : done{false} {}
Worker(const Worker& rhs) : done{rhs.done}, qworker{} {}
Worker(Worker &&rhs) : done{rhs.done}
, qworker{std::move(rhs.qworker)} //