10
返り値の型を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
の戻り値の型を取得する方法は? arraysため