/in/foo.cc: In function 'void g(int*, int, int)':
/in/foo.cc:7:2: error: reference to 'end' is ambiguous
end=n-1;
^~~
/in/foo.cc:4:11: note: candidates are: int end
int start,end,sum=0,mid;
^~~
In file included from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:95:0,
from /in/foo.cc:1:
/usr/include/c++/6/valarray:1226:5: note: template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&)
end(const valarray<_Tp>& __va)
^~~
/usr/include/c++/6/valarray:1216:5: note: template<class _Tp> _Tp* std::end(std::valarray<_Tp>&)
end(valarray<_Tp>& __va)
^~~
In file included from /usr/include/c++/6/string:51:0,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/bits/range_access.h:97:5: note: template<class _Tp, long unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm])
end(_Tp (&__arr)[_Nm])
^~~
/usr/include/c++/6/bits/range_access.h:78:5: note: template<class _Container> decltype (__cont.end()) std::end(const _Container&)
end(const _Container& __cont) -> decltype(__cont.end())
^~~
/usr/include/c++/6/bits/range_access.h:68:5: note: template<class _Container> decltype (__cont.end()) std::end(_Container&)
end(_Container& __cont) -> decltype(__cont.end())
^~~
In file included from /usr/include/c++/6/bits/range_access.h:36:0,
from /usr/include/c++/6/string:51,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/initializer_list:99:5: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)
end(initializer_list<_Tp> __ils) noexcept
^~~
/in/foo.cc:9:15: error: reference to 'end' is ambiguous
while(start<=end)
^~~
/in/foo.cc:4:11: note: candidates are: int end
int start,end,sum=0,mid;
^~~
In file included from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:95:0,
from /in/foo.cc:1:
/usr/include/c++/6/valarray:1226:5: note: template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&)
end(const valarray<_Tp>& __va)
^~~
/usr/include/c++/6/valarray:1216:5: note: template<class _Tp> _Tp* std::end(std::valarray<_Tp>&)
end(valarray<_Tp>& __va)
^~~
In file included from /usr/include/c++/6/string:51:0,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/bits/range_access.h:97:5: note: template<class _Tp, long unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm])
end(_Tp (&__arr)[_Nm])
^~~
/usr/include/c++/6/bits/range_access.h:78:5: note: template<class _Container> decltype (__cont.end()) std::end(const _Container&)
end(const _Container& __cont) -> decltype(__cont.end())
^~~
/usr/include/c++/6/bits/range_access.h:68:5: note: template<class _Container> decltype (__cont.end()) std::end(_Container&)
end(_Container& __cont) -> decltype(__cont.end())
^~~
In file included from /usr/include/c++/6/bits/range_access.h:36:0,
from /usr/include/c++/6/string:51,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/initializer_list:99:5: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)
end(initializer_list<_Tp> __ils) noexcept
^~~
/in/foo.cc:12:13: error: reference to 'end' is ambiguous
if(start==end)
^~~
/in/foo.cc:4:11: note: candidates are: int end
int start,end,sum=0,mid;
^~~
In file included from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:95:0,
from /in/foo.cc:1:
/usr/include/c++/6/valarray:1226:5: note: template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&)
end(const valarray<_Tp>& __va)
^~~
/usr/include/c++/6/valarray:1216:5: note: template<class _Tp> _Tp* std::end(std::valarray<_Tp>&)
end(valarray<_Tp>& __va)
^~~
In file included from /usr/include/c++/6/string:51:0,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/bits/range_access.h:97:5: note: template<class _Tp, long unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm])
end(_Tp (&__arr)[_Nm])
^~~
/usr/include/c++/6/bits/range_access.h:78:5: note: template<class _Container> decltype (__cont.end()) std::end(const _Container&)
end(const _Container& __cont) -> decltype(__cont.end())
^~~
/usr/include/c++/6/bits/range_access.h:68:5: note: template<class _Container> decltype (__cont.end()) std::end(_Container&)
end(_Container& __cont) -> decltype(__cont.end())
^~~
In file included from /usr/include/c++/6/bits/range_access.h:36:0,
from /usr/include/c++/6/string:51,
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/istream:38,
from /usr/include/c++/6/sstream:38,
from /usr/include/c++/6/complex:45,
from /usr/include/c++/6/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:52,
from /in/foo.cc:1:
/usr/include/c++/6/initializer_list:99:5: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)
end(initializer_list<_Tp> __ils) noexcept
^~~
/in/foo.cc:15:24: error: reference to 'end' is ambiguous
mid=(key-a[start])*(end-start)/(a[end]-a[start]);
^~~
/in/foo.cc:4:11: note: candidates are: int end
int start,end,sum=0,mid;
^~~
In file included from /usr/include/x86_64-linux-gnu/c++/6/bits/stdc++.h:95:0,
from /in/foo.cc:1:
/usr/include/c++/6/valarray:1226:5: note: