1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#include <iostream> struct foo_ { template <class T, class A> T* f(A& a) { return 0; } template <class T, class A> T* f(A const& a) { return 0; } } foo; int main() { int const a = 0; foo.f<int>(a); }