Just to make sure that you are missing, you need: <cstddef>for std::size_tand <new>to post a new one?
Otherwise, these functions look correct. If this is an entire dispenser, it has other disadvantages, such as missing required typedefs, methods, address()and max_size(), as well as a template rebind.
Edit: The only cause of the error may be that you have a function type macro installed.
#define T(z) zzz
T(), , T, .
.