小编Bas*_*rel的帖子

抛出来自noncopyable的可复制类

我有一个框架,它将异常定义为一个不可复制的类,我们从中派生了一个可复制的类(定义一个复制构造函数,调用一个非复制的基类构造函数)

这适用于g ++,但不适用于MSVC 2013.

以下代码将重现该问题:

#include <iostream>

using namespace std;

#if defined _MSC_VER
#define __PRETTY_FUNCTION__ __FUNCTION__
#endif

class u {
  u(const u&) = delete;
  const u& operator=(const u&) = delete;/* the library we use defines it as const u& */
public:
  u() { cout << __PRETTY_FUNCTION__ << "def" << endl; }
protected:
  explicit u(int i) { cout << __PRETTY_FUNCTION__ << "int: " << i << endl; }
};

class e : public u {
public:
  e() { cout << __PRETTY_FUNCTION__ …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++ c++11

14
推荐指数
1
解决办法
518
查看次数

标签 统计

c++ ×1

c++11 ×1

visual-c++ ×1