call of overloaded 'function' is ambigous