«удаление» объекта / присваивания копии в C ++ 11

В VS 2010 SP1 следующее:

class Foo
{
public:
    Foo() { }
    Foo(Foo const&) = delete; // Line 365
    Foo& operator=(Foo const&) = delete; // Line 366
};

не компилируется. Он жалуется:

CPPConsole.cpp (365): ошибка C2059: синтаксическая ошибка: ';'
CPPConsole.cpp (365): ошибка C2238: неожиданные токены, предшествующие ';'
CPPConsole.cpp (366): ошибка C2059: синтаксическая ошибка: ';'
CPPConsole.cpp (366): ошибка C2238: непредвиденные токены, предшествующие ';'

Это еще не поддерживается? Странно то, что Intellisense, кажется, распознает эту конструкцию. Он говорит: «IntelliSense: функция« Foo :: operator = (const Foo &) »(объявленная в строке 366) не может быть указана - это удаленная функция»

Что мне не хватает?

14
задан ForeverLearning 17 August 2011 в 18:20
поделиться