Since the variant_alternative is a struct type, “class" in the following definition should be changed to “struct”.
template<size_t I, class T> class variant_alternative<I, const T>;
Change “class” to “struct” as follows:
template<size_t I, class T> struct variant_alternative<I, const T>;
Since the variant_alternative is a struct type, “class" in the following definition should be changed to “struct”. template<size_t I, class T> class variant_alternative<I, const T>;
Change “class” to “struct” as follows: template<size_t I, class T> struct variant_alternative<I, const T>;