Ich möchte den Rückgabetyp von std::begin
in einer allgemeinen Art und Weise erhalten. Meine aktuelle Lösung ist:Erhalten Sie den Rückgabetyp von Anfang auf einem c-Array
using type = decltype(std::begin(std::declval<T>()));
und es funktioniert, wenn T = std::vector<int>
. Aber ich verstehe nicht, warum die folgenden nicht funktioniert:
using type = decltype(std::begin(std::declval<int[3]>()));
ich den Fehler:
example.cpp:83:60: error: no matching function for call to ‘begin(int [3])’
using type = decltype(std::begin(std::declval<int[3]>()));
Wie den Rückgabetyp std::begin
in allgemeiner Weise zu bekommen?