Как во время выполнения, я проверю, какой тип var содержит? std :: get (var) Я получаю исключение. Итак, я подумал об этом решении: < /p>
Код: Выделить всё
try {
std::variant(var);
// Do something
} catch(const std::bad_variant_access&) {
try {
std::variant(var);
// Do something else
} catch(const std::bad_variant_access&) {
try {
std::variant(var);
// Another else
} catch (const std::bad_variant_access&) {
// std::monostate
}
}
}
< /code>
Но это так сложно и уродливо! Есть более простой способ проверить, какой тип std :: variant Подробнее здесь: https://stackoverflow.com/questions/634 ... stdvariant
Мобильная версия