Это будет скомпилировано, но в итоге вы получите свисающую ссылку. param
освобождается после возвращения function
.
Если вы сделали его неконстантным, то он не был бы скомпилирован, потому что вы не можете передать не - ссылается на анонимный объект.