The deallocation function's name is looked up in the scope of the promise type
. If this lookup fails, the deallocation function's name is looked up in the
global scope
. If deallocation function lookup finds both a usual deallocation
function with only a pointer parameter and a usual deallocation function with
both a pointer parameter and a size parameter, then the selected deallocation
function shall be the one with two parameters
. Otherwise, the selected
deallocation function shall be the function with one parameter
. If no usual
deallocation function is found, the program is ill-formed
. The selected deallocation function shall be called with the address of the
block of storage to be reclaimed as its first argument
. If a deallocation
function with a parameter of type
std::size_t is used, the size of
the block is passed as the corresponding argument
.