好的,这里最好避免歧义?
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。
谢谢。