不过,如果模板参数T的类型是std::variant,这就成了一个问题。我想做一个选择适合std::variant的重载的SFINAE。*_cursor = T(Allocator(args...)); // T is std::variant, Allocator is one variant of T.T* item = _cursor; return std<
我有一些std::variant类,每个类都有几个备选方案,我想定义一个访问者类模板,它以一个变量作为其模板参数,并将自动为该变体中的每个备选T定义一个纯虚拟T。通过这种方式,我可以定义从这些访问者模板类的实例化继承的子类,并将被迫覆盖每个方法,这些方法在其各自的基类中定义为纯虚拟的。例如:
using VarA = std::variant<