visual studio 2012-C++类特殊成员函数默认并删除VS2012

visual studio 2012 - C++ class special member functions default and delete VS2012

本文关键字:默认 函数 删除 VS2012 成员 studio 2012-C++ visual      更新时间:2023-10-16

使用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;    
};

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

VS12(2013(中增加了对移动构造函数/赋值运算符的支持。

请参阅MSDN:支持C++11功能