I seem to be missing something. I'm failing to overload the delete operator for a class.
Code:template<typename T> class DeleteChecker { public: DeleteChecker(); ~DeleteChecker(); DeleteChecker(T* p); DeleteChecker(DeleteChecker& rRhs); DeleteChecker& operator = (DeleteChecker& rRhs); DeleteChecker& operator = (T* rRhs); T& operator * (); T* operator -> (); //void* operator new(size_t size); static void operator delete(void* /*pToDelete*/); operator bool() const; bool operator ! () const; const T& operator [] (uint32_t Dimension) const; T& operator [] (uint32_t Dimension); private: void Init(); struct DeleteData { T* p; uint32_t refCount; //uint32_t Dimensions; //bool }; DeleteData* m_pData; };Error 1 error C2440: 'delete' : cannot convert from 'DeleteChecker<T>' to 'void *' g:\w00t\visual studio 2008\projects\temp\temp.cpp 175Code:int main() { struct Test { int x, y, z; }; DeleteChecker<Test> p = new Test; p->x = 0; delete p; }
Someone please try to jog my memory :/



CornedBee