Use std::addressof to instead of plain '&'.
Otherwise the code won't compile if the '&' operater is overloaded and return something that cannot be casted to void *.