【发布时间】:2021-08-02 14:57:33
【问题描述】:
#include <variant>
struct A
{
void foo(){}
};
struct B
{
void foo(){}
};
int main()
{
std::variant< A, B > v{ A{} };
v.foo(); // doesn't work
}
如何在不知道它的类型但知道它的属性的情况下使用std::variant 值?我相信这被称为等同于 Duck Typing 的通用多态性。
【问题讨论】: