#define call_func(x) x.func();template <typename T>void call_func_templ(T t) { t.func(); }struct A { void func() {} // <== rename this function};struct B { void func() {}};int main(){ A a; B b; call_func(a); call_func(b); call_func_templ(a); call_func_templ(b);}