#include <iostream>

template <class T, class U>
int f(T t, U)
{
    U a(t);
    return a;
}

struct S {
    unsigned char a:3;
    unsigned char b:2;
};

int main()
{
    S s;
    s.a = 7;
    std::cout << int(s.a) << '\t' << f(s.a, s.b) << std::endl;
}
