std :: variant分配无法在clang ++中编译

时间:2018-08-25 03:55:41

标签: c++ clang++ variant

我很困惑为什么以下代码不能在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);
...

值分配有问题吗?

0 个答案:

没有答案