To use the standard placement form of new you have to #include <new>.
The form of new that you are using requires a declaration of void* operator new(std::size_t, void*) throw();.
You don’t have to #include <new> to use non-placement new.