【发布时间】:2018-07-29 14:39:31
【问题描述】:
默认情况下重载的operator new 是否被视为静态?例如:
template <typename E>
class Link
{
private:
Link<E>* freeList;
public:
E element;
Link<E>* next;
Link(const E& elemVal, Link<E>* nextVal) { element = elemVal; next = nextVal; }
Link(Link<E>* nextVal) { next = nextVal; }
void* operator new(size_t)
{
Link<E>* temp=freeList;
freeList=freeList->next;
return temp;
}
};
当我试图编译它时,我得到了以下错误:
Invalid use of member 'Link<E>::freeList' in static member function.
我想知道重载的operator new 是否实际上是静态的。
【问题讨论】:
标签: c++ operator-overloading static-methods