Хорошо, что лучше всего избежать двусмысленности здесь?
template <class T>
inline void swap(T &a, T &b)
{
T c; c = a; a = b; b = c;
}
/* blah blah blah (inside of a function:) */
for (itv = vals.begin(); itv != vals.end(); ++itv)
{
if (at < (*itv)) { swap(at, (*itv)); }
if (at % (*itv) == 0) atadd = false;
}
/* blah blah blah */
Вызов со свопом также не работает, так как он говорит, что не может решить, является ли это «void swap (T &, T &)», «void std:: swap (_Ty &, _Ty &)» или ...
Кстати, itv — это вектор‹int›::iterator.
Спасибо.