Guías de deducción para std::array
De cppreference.com
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
.
[editar] 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. }