Я хочу создать класс, который можно преобразовать в любой тип / класс.
struct any{
template<typename T>
operator T(){
return T();
}
};
struct S{};
void f(const S&){}
f(any()); //ok
//but if no default constructor will make error
struct S{
S()=delete;
};
void f(const S&){}
f(any()); //error
Как решить эту проблему, чтобы создать класс, который можно преобразовать в любой тип / класс