【发布时间】:2019-07-09 07:37:28
【问题描述】:
我想比较几种数字类型的两种变体。
#include <cstdint>
#include <variant>
using Value = std::variant< uint64_t, int64_t, bool, float, double>;
bool compare(Value l, Value r){
return std::visit([](auto v1,auto v2){return v1<v2;},l,r);
}
但是,在 msvc 上,这会导致警告。
这样安全吗? (又名在所有情况下都给出了预期的结果)
如果不是,如何安全完成?
【问题讨论】:
标签: c++ visual-c++ compare c++17 variant