I can't seem to get g++ to compile c++11 code that uses a move constructor. I keep getting this error:
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&)’
The program I am writing is quite different from this, but I trimmed it down to the part that seems like it should definitely work, yet still triggers the error:
#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;
}
Can anyone tell me what I am doing wrong? Rather, how to fix it?
This is my gcc version:
gcc (Ubuntu/Linaro 4.6.2-14ubuntu2) 4.6.2