次のコードをコンパイルしようとすると、コンパイラエラー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
。