「オブジェクト アロケータ」関数を渡すことができ、テンプレート オブジェクトの演算子 new() をデフォルトの引数として受け取るクラスを定義しようとしています。次のコードがあります。
template<class _Obj>
class Foo
{
private:
typedef _Obj (_Obj::*fp_alloc_type)();
public:
Foo(fp_alloc_type t=_Obj::operator new ());
...
};
これにより、comiler エラー C2039: 'new' : is not a member of 'SomeObj' が発生します。
コンパイラは、独自に定義していないオブジェクトに対して 'new' のデフォルトの実装を生成しませんか? 何か不足していますか?