我检查了一些使用原始指针的旧代码,并将其更改为unique_ptr
。现在,当我尝试编译的代码,我得到这个错误信息:错误C2280:尝试引用已删除的函数(unique_ptr)
错误1错误C2280:“的std ::的unique_ptr> ::的unique_ptr(常量的std ::的unique_ptr < _Ty,性病:: default_delete < _Ty >> &)”:试图引用删除的功能d:\的Visual Studio 2013 \ VC \包括\ xmemory0
有关情况编译器的输出是巨大的 - 节省空间在这个问题上,看到它here 。
据我所知,这与我使用独特指针的方式有关。它从这里开始(level.h,行65-66):
typedef std::unique_ptr<Enemy> PEnemy;
std::list<PEnemy> m_enemies;
现在,下一个线索我在编译器输出得到的是在basesource.cpp行47:
std::list<PEnemy> enemies = Game::LEVEL->getEnemies();
为什么这是否会导致问题?我该如何解决这个错误?
错误提醒您'std :: unique_ptr'不可复制。 – juanchopanza 2014-10-22 11:02:15