在使用std :: variant时,我发现它似乎不适用于数组类型。以下示例未在编译器资源管理器上使用最新的Gcc和Clang编译器进行编译。
#include <iostream>
#include <variant>
int main()
{
typedef char char_array4_t[4];
char_array4_t ca = {'a', 'b', 'c', 'd'};
std::variant<int, char_array4_t> v = ca;
return 0;
}
Clang编译器抱怨,引用
注意:在此处请求模板类'std :: __ 1 :: variant'的实例中。
这里出了什么问题?