shared_ptr(p.get());为什么错?该怎么解决

shared_ptr<int>(p.get());为什么错?
本帖最后由 v24123 于 2015-10-18 13:10:58 编辑
#include <memory>
using namespace std;
int main()
{
shared_ptr<int> p(new int(42));
shared_ptr<int>(p.get());
}


运行时报错  _CrtIsValidHeapPointer(block)
还有下面这个程序也一样报错,为啥?
#include <memory>
using namespace std;
int main()
{
auto sp = make_shared<int>();
auto p = sp.get();
delete p;
}

------解决思路----------------------
重复delete了