Guías de deducción para std::array
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <array>
|
||
template <class T, class... U> array(T, U...) -> array<T, 1 + sizeof...(U)>; |
(desde C++17) | |
Se proporciona una guía de deducción para std::array para proporcionar un equivalente de std::experimental::make_array para la construcción de un std::array de un paquete de parámetros variádico.
El programa está mal formado si (std::is_same_v<T, U> && ...) no es true.
Ejemplo
Ejecuta este código
#include <array>
int main()
{
int const x = 10;
std::array a{1, 2, 3, 5, x}; // de acuerdo, crea un std::array<int, 5>
// std::array b{1, 2u}; // ERROR: todos los argumentos deben tener el mismo tipo.
}