Mam problem z dedukcją typu pojedynczego elementu tablicy C++.Czy istnieje sposób na dedukcję typu pojedynczego elementu tablicy w C++
chciałbym zrobić coś takiego osiągnąć:
template <class T>
struct array_element { };
template <class T>
struct array_element<T[]> {
using type = T;
};
int main() {
int a[5] = {1, 2, 3, 4, 5};
array_element<decltype(a)>::type element = a[0];
}
ale kod oczywiście nie kompiluje (int [5] nie pasuje T []) ...
Oczywiście! Dzięki! –
Rzeczywisty kod jest nieco bardziej skomplikowany (jest wewnątrz argumentu szablonów) i użycie podejścia z 'decltype' nie byłoby tam bardzo czyste ... Ale twoja sugestia z dodatkowym parametrem specjalizacji doskonale pasuje! –