当我尝试编译以下代码时出现编译器错误 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
.