Я хотел бы получить тип возврата std::begin
в общем виде. Мой текущий раствор:Получить возвращаемый тип начала на массиве c
using type = decltype(std::begin(std::declval<T>()));
и он работает, когда T = std::vector<int>
. Но я не понимаю, почему следующее не работает:
using type = decltype(std::begin(std::declval<int[3]>()));
Я получаю ошибку:
example.cpp:83:60: error: no matching function for call to ‘begin(int [3])’
using type = decltype(std::begin(std::declval<int[3]>()));
Как получить тип возврата std::begin
в общем виде?