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
返回類型在一個通用的方式?