visual studio 2012-C++类特殊成员函数默认并删除VS2012
visual studio 2012 - C++ class special member functions default and delete VS2012
使用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功能
相关文章:
- 默认函数可以返回自动吗?
- 即使类不包含数据,C++ 14 是否仍会生成默认函数?
- 删除显式默认函数声明时的警告
- 使用聚合初始化模拟默认函数参数是否存在任何陷阱?
- 常量字符[] 默认函数参数
- 使编译器为 std::function 生成一个空的默认函数
- 尝试将 C++11 代码转换为 C++03 时默认函数模板参数出错
- 避免将静态变量暴露在默认函数参数中
- 默认函数对象值作为要使用lambda调用的函数参数
- C++ "overloading"第二个默认函数参数
- 显式默认函数不能声明为 constexpr,因为隐式声明不是 constexpr
- 为什么要使用std ::少用作默认函数来比较std :: map and std :: set中的键
- C++默认函数参数
- 为什么子类覆盖虚拟函数不能更改父类的默认函数参数
- 如何为函数指针设置默认函数
- 扩展的参数包是否可以"fill in"默认函数参数?
- C++ 默认函数参数不起作用
- 如何知道是传递了可选函数参数还是使用默认函数参数
- 复制省略在默认函数参数中是否有效
- C++模板参数默认函数实现