std::variant<std::string, int> house;
house = 221;
std::visit([] (const auto &arg) {
using T = std::decay_t<std::decltype(arg)>;
if constexpr (std::is_same_v<T, std::string>) {
std::cout << "A house called " << arg << "\n";
} else {
std::cout << "House number is " << arg << "\n";
}
},house);
This error gives a error:
include
std::variant<std::string, int> house; house = 221; std::visit([] (const auto &arg) { using T = std::decay_t<std::decltype(arg)>; if constexpr (std::is_same_v<T, std::string>) { std::cout << "A house called " << arg << "\n"; } else { std::cout << "House number is " << arg << "\n"; } },house);