Как мне заставить g ++ скомпилировать код C ++ 11 с помощью конструктора перемещения?

Кажется, я не могу заставить g ++ скомпилировать код C ++ 11, который использует конструктор перемещения. Я продолжаю получать эту ошибку:

collin@Serenity:~/Projects/arraylib$ g++ ./t2.cpp
./t2.cpp:10:27: error: expected ‘,’ or ‘...’ before ‘&&’ token
./t2.cpp:10:38: error: invalid constructor; you probably meant ‘Blarg (const Blarg&)’

Программа, которую я пишу, сильно отличается от этой, но я сократил ее до той части, которая кажется, что она определенно должна работать, но все же вызывает ошибку:

#include <iostream>

using namespace std;

class Blarg {
    public:
        Blarg () {};
        Blarg (const Blarg& original) {}; /* Copy constructor */
        Blarg (Blarg&& original) {}; /* Move constructor */
};

int main(int argc, char *argv[])
{
    Blarg b;
    return 0;
}

Кто-нибудь может сказать мне, что Я делаю не так? Скорее как исправить?

Это моя версия gcc:

gcc (Ubuntu/Linaro 4.6.2-14ubuntu2) 4.6.2
21
задан Collin 22 February 2012 в 01:15
поделиться