一个invalid arguments错误,找不出原因。求修正
- C/C++ code
#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;};编译的时候,总是提示Invalid arguments '
Candidates are:
void * release()
'
不知道是什么原因。怎么修改?
[解决办法]
auto_ptr的头文件 <memory>.
[解决办法]
[解决办法]
恭喜楼主啊