C++相談室 part6
■ このスレッドは過去ログ倉庫に格納されています
0780デフォルトの名無しさん
NGNG自前で定義したnew演算子は呼び出せるのですが、
自前で定義したdelete演算子を呼び出す方法がわかりません。
どなたか正しい方法をご存知の方はいらっしゃらないでしょうか。
使用しているコンパイラはVC6です。
void *operator new( size_t size, my_allocator& alloc )
{
return alloc.allocate( size );
}
void operator delete( void* pointer, my_allocator& alloc )
{
alloc.deallocate( pointer );
}
class X;
void f( my_allocator& alloc )
{
X* array = new( alloc ) X(); // 自前で定義したnew演算子を呼び出す。
// delete( alloc ) X; // エラーが出る。この方法は間違いらしい。
// delete X; // 標準のdelete演算子が呼び出されてしまうのでダメ。
}
■ このスレッドは過去ログ倉庫に格納されています