Вы не сможете вызвать это, потому что он не скомпилируется. Предположительно, вы действительно имели в виду что-то вроде:
void procedure(void) {
int *x = new int;
*x = 42;
}
Да, это утечка памяти, о которой я ожидаю, что VC ++ будет жаловаться (при компиляции в режиме отладки). В режиме релиза он все равно обычно не проверяет утечки, но даже если бы он это делал, меня не удивило бы, если бы компилятор обнаружил, что ничего из этого не имело реального эффекта, поэтому вызов его был полностью оптимизирован (таким образом устраняя утечка памяти). Я совсем не уверен, что это произойдет, но это не было бы большим сюрпризом, если бы это произошло.