How about this?
I know GCC is a little more strict about things, but I don't want to copy and compile it right now.Code:template<typename T, typename T2> void foo(T arg, T2& arg2) { arg(arg2, 0); } void operator + (const obj&, int); class obj { public: friend void operator + (const obj&, int); }; void operator + (const obj&, int) {} int main() { obj myobj; foo(&operator+, myobj); }