#include <new>

class CBase
{
public:
 /** new */
 void* operator new(std::size_t aSize) throw(std::bad_alloc);
 /** delete */
 void operator delete(void* aMemory) throw();
 /** placement new */
 void* operator new(std::size_t aSize, void* aPtr) throw();
 /** placement delete */
 void operator delete(void* aMemory, void* aPtr) throw();
};

Effective C++にあった配置newを試そうと上のクラスを作ってみたのですが、
BCBでコンパイルすると下記のエラーが出てしまいます

E2238 'CBase::operator delete(void *) throw()' の宣言が複数見つかった

ボス助けて