C ++类特殊成员函数默认并删除VS2012

时间:2014-04-30 10:01:57

标签: c++ visual-studio-2012 c++11

使用C ++ 11是否可以将类特殊成员函数指定为默认和删除? 我正在使用Visual Studio 2012版本11.0并尝试将某些类构造函数设置为默认值。需要说这是抽象类,IDE强调这个代码部分是错误的。此外,当我修改这个类不是抽象的时,情况是一样的。

class IProgressObserver {
public:
    IProgressObserver() =default;
    virtual ~IProgressObserver(){}
    virtual void reportProgress(void* reporter,
                                std::int32_t done,
                                std::int32_t total) = 0;    
};

1 个答案:

答案 0 :(得分:4)

您可以在C ++ 11中默认特殊成员函数,但VS11不支持该函数。

VS12(2013)中增加了支持 - 但不包括移动构造函数/赋值运算符。

请参阅MSDN: Support For C++11 Features