一个invalid arguments错误,找不出原因。求修正
#include<iostream>template <typename T>class auto_ptr {public: auto_ptr(T *p = NULL):m_ptr(p){} auto_ptr(const auto_ptr& ptr){ delete m_ptr; m_ptr = (T*)ptr.release(); } virtual ~auto_ptr(); void* release() { void* tem = m_ptr; delete m_ptr; return tem; } auto_ptr<T>& operator *() { return *m_ptr; } auto_ptr<T>* operator ->() { return m_ptr; }private: T *m_ptr;};