使用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;
};
答案 0 :(得分:4)
您可以在C ++ 11中默认特殊成员函数,但VS11不支持该函数。
VS12(2013)中增加了支持 - 但不包括移动构造函数/赋值运算符。