为什么结构variant_size;在 C++17 中未定义



我在浏览cpp首选项时看到了std::variant_size

template <class T>
struct variant_size; /* undefined */    (1) (since C++17)

我在这里看到,struct variant_size;声明为未定义

那么,声明struct variant_size;未定义的原因是什么?

您正在查看的部分是variant_size的泛型声明。variant_size的实际定义是专业化定义如下。即

template <class... Types>
struct variant_size<std::variant<Types...>>
  : std::integral_constant<std::size_t, sizeof...(Types)> {};

以及下面的cv限定词专业化。

相关内容

  • 没有找到相关文章

最新更新