我正在尝试定义一个可以传递“对象分配器”函数并将模板对象的运算符 new() 作为默认参数的类。我有以下代码:
template<class _Obj>
class Foo
{
private:
typedef _Obj (_Obj::*fp_alloc_type)();
public:
Foo(fp_alloc_type t=_Obj::operator new ());
...
};
这给出了一个编译器错误 C2039: 'new' : is not a member of 'SomeObj'
编译器不会为没有定义自己的对象生成“新”的默认实现吗?我错过了什么吗?