Я не очень разбираюсь в шаблонах. Как мне написать шаблонную функцию с именем get, которая выбирает массив, из которого она получает, на основе типа шаблона? См. Пример ниже:
struct Foo
{
int iArr[10];
char cArr[10];
// How to pick array here based on template type?
template < typename T >
T get( int idx )
{
// This does NOT work!
switch ( T )
{
case int:
return iArr[ idx ];
case char:
return cArr[ idx ];
}
}
};
// Expected behaviour of get()
Foo foo;
int i = foo.get< int >( 2 );
char c = foo.get< char >( 4 );