Безопасно ли переинтерпретировать_приведение из std::function<void()> * в std::function<std::monostate()> *?
Пример:
std::function<std::monostate()> convert(std::function<void()> func){
return *reinterpret_cast<std::function<std::monostate()> * >(&func);
}
Являютсяstd::function<void()>
иstd::function<std::monostate()>
считается достаточно "похожим" дляreinterpret_cast
быть в безопасности?
Изменить: кто-то попросил меня уточнить, о чем я спрашиваю. Я не спрашиваю, похожи ли общие случаи foo<X> и foo<Y>, а спрашиваю, похожи ли foo<void> и foo<std::monostate>.