【发布时间】:2012-07-03 20:01:20
【问题描述】:
当我尝试编译以下代码时,我得到Compiler Error C2248:
#include <list>
#include <memory>
using namespace std;
class data
{
public:
static data parse()
{
data d;
data::parse(d);
return d;
}
list<std::unique_ptr<data>> l;
private:
static void parse(data& node)
{ }
};
int main()
{
return 0;
}
为什么?我该如何解决这个问题?
注意:我使用std::shared_ptr 代替std::unique_ptr 没有问题。
【问题讨论】:
-
请发布您的实际错误消息,以及足够的代码来重现它。
-
@KerrekSB 你可以用更新测试一下,报错信息不是英文的,你还要看吗?
-
尝试添加一个空体默认构造函数,并添加一个复制构造函数。
-
@Nick : 你可以添加什么复制构造函数来做有意义的事情?
-
@ildjarn 我添加了
data(const data&){}和空的默认构造函数。
标签: c++ c++11 compiler-errors unique-ptr