/in/foo.cc: In function 'int main()':
/in/foo.cc:40:5: error: reference to 'hash' is ambiguous
a = hash(a - 1);
^~~~
/in/foo.cc:9:5: note: candidates are: int hash(int)
int hash(int x)
^~~~
In file included from /usr/include/c++/6/bits/basic_string.h:5643:0,
from /usr/include/c++/6/string:52,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/6/bits/functional_hash.h:58:12: note: template<class _Tp> struct std::hash
struct hash;
^~~~
/in/foo.cc:41:5: error: reference to 'hash' is ambiguous
b = hash(b);
^~~~
/in/foo.cc:9:5: note: candidates are: int hash(int)
int hash(int x)
^~~~
In file included from /usr/include/c++/6/bits/basic_string.h:5643:0,
from /usr/include/c++/6/string:52,
from /usr/include/c++/6/bits/locale_classes.h:40,
from /usr/include/c++/6/bits/ios_base.h:41,
from /usr/include/c++/6/ios:42,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from /in/foo.cc:1:
/usr/include/c++/6/bits/functional_hash.h:58:12: note: template<class _Tp> struct std::hash
struct hash;
^~~~