我很困惑为什么以下代码不能在clang ++ 6.0上编译,而在G ++ 7.x上都能完美地工作,两者都与-std=c++17
一起使用。
std::variant<int, float> a;
a = 1;
这使我在clang ++ 6.0上出现以下错误:
error: cannot cast 'std::variant<int, double>' to its private base class
'std::__detail::__variant::_Variant_storage<true, int, double>'
return __get(std::in_place_index<_Np>, std::forward<_Variant>(__v)._M_u);
...
值分配有问题吗?