Your any class need to contain a pointer to std::type_info to ensure type safety. You can refer to my full implementation of std::any Here .
any
std::type_info
std::any