Конструкторы и деструкторы являются чем-то особенным. Компилятор часто
использует различные соглашения при вызове их (например, для передачи дополнительных скрытых
аргументы). Если вы взяли адрес и сохранили его где-то,
компилятор потеряет информацию о том, что функция является конструктором
или деструктор, и не знал бы использовать специальные соглашения.