struct A { template void F(R) { } }; struct B: private A { using A::F; }; int main() { B b; b.F(3); return 0; }